@jbrowse/plugin-variants 3.7.0 → 4.0.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 (539) hide show
  1. package/esm/ChordVariantDisplay/components/ChordVariantDisplay.d.ts +11 -0
  2. package/esm/ChordVariantDisplay/components/ChordVariantDisplay.js +16 -0
  3. package/esm/ChordVariantDisplay/components/DisplayError.d.ts +9 -0
  4. package/esm/ChordVariantDisplay/components/DisplayError.js +7 -0
  5. package/esm/ChordVariantDisplay/components/Loading.d.ts +8 -0
  6. package/esm/ChordVariantDisplay/components/Loading.js +28 -0
  7. package/esm/ChordVariantDisplay/index.js +4 -4
  8. package/esm/ChordVariantDisplay/models/configSchema.d.ts +4 -5
  9. package/esm/ChordVariantDisplay/models/configSchema.js +10 -5
  10. package/esm/ChordVariantDisplay/models/renderReaction.d.ts +30 -0
  11. package/esm/ChordVariantDisplay/models/renderReaction.js +48 -0
  12. package/esm/ChordVariantDisplay/models/renderSvg.d.ts +6 -0
  13. package/esm/ChordVariantDisplay/models/renderSvg.js +12 -0
  14. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +535 -46
  15. package/esm/ChordVariantDisplay/models/stateModelFactory.js +146 -8
  16. package/esm/LinearVariantDisplay/configSchema.d.ts +5 -5
  17. package/esm/LinearVariantDisplay/configSchema.js +2 -2
  18. package/esm/LinearVariantDisplay/index.js +6 -4
  19. package/esm/LinearVariantDisplay/model.d.ts +1086 -103
  20. package/esm/LinearVariantDisplay/model.js +10 -26
  21. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +1 -1
  22. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +8 -18
  23. package/esm/MultiLinearVariantDisplay/configSchema.d.ts +6 -44
  24. package/esm/MultiLinearVariantDisplay/configSchema.js +2 -2
  25. package/esm/MultiLinearVariantDisplay/index.js +4 -3
  26. package/esm/MultiLinearVariantDisplay/model.d.ts +1031 -125
  27. package/esm/MultiLinearVariantDisplay/model.js +3 -23
  28. package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +1 -1
  29. package/esm/MultiLinearVariantDisplay/renderSvg.js +4 -4
  30. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +8 -2
  31. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +26 -23
  32. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +1 -1
  33. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +9 -20
  34. package/esm/MultiLinearVariantMatrixDisplay/configSchema.d.ts +6 -6
  35. package/esm/MultiLinearVariantMatrixDisplay/configSchema.js +1 -1
  36. package/esm/MultiLinearVariantMatrixDisplay/index.js +5 -4
  37. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +1110 -131
  38. package/esm/MultiLinearVariantMatrixDisplay/model.js +22 -48
  39. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +1 -1
  40. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +3 -3
  41. package/esm/MultiLinearVariantMatrixRenderer/MultiLinearVariantMatrixRenderer.d.ts +4 -35
  42. package/esm/MultiLinearVariantMatrixRenderer/MultiLinearVariantMatrixRenderer.js +19 -33
  43. package/esm/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.d.ts +12 -1
  44. package/esm/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.js +48 -22
  45. package/esm/MultiLinearVariantMatrixRenderer/configSchema.d.ts +1 -1
  46. package/esm/MultiLinearVariantMatrixRenderer/index.js +4 -4
  47. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -2
  48. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.js +155 -135
  49. package/esm/MultiLinearVariantMatrixRenderer/types.d.ts +2 -14
  50. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +3 -60
  51. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +9 -18
  52. package/esm/MultiLinearVariantRenderer/components/MultiLinearVariantRendering.d.ts +7 -6
  53. package/esm/MultiLinearVariantRenderer/components/MultiLinearVariantRendering.js +30 -26
  54. package/esm/MultiLinearVariantRenderer/configSchema.d.ts +1 -1
  55. package/esm/MultiLinearVariantRenderer/index.js +4 -4
  56. package/esm/MultiLinearVariantRenderer/makeImageData.d.ts +14 -11
  57. package/esm/MultiLinearVariantRenderer/makeImageData.js +127 -110
  58. package/esm/MultiLinearVariantRenderer/types.d.ts +3 -20
  59. package/esm/SplitVcfTabixAdapter/SplitVcfTabixAdapter.js +1 -1
  60. package/esm/SplitVcfTabixAdapter/configSchema.d.ts +2 -2
  61. package/esm/SplitVcfTabixAdapter/index.d.ts +1 -1
  62. package/esm/SplitVcfTabixAdapter/index.js +3 -3
  63. package/esm/StructuralVariantChordRenderer/Chord.d.ts +1 -1
  64. package/esm/StructuralVariantChordRenderer/Chord.js +41 -58
  65. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +3 -3
  66. package/esm/StructuralVariantChordRenderer/ReactComponent.js +3 -3
  67. package/esm/StructuralVariantChordRenderer/configSchema.d.ts +2 -2
  68. package/esm/StructuralVariantChordRenderer/index.js +3 -3
  69. package/esm/Tooltip.js +2 -2
  70. package/esm/VariantFeatureWidget/AltFormatter.js +1 -1
  71. package/esm/VariantFeatureWidget/Formatter.js +2 -2
  72. package/esm/VariantFeatureWidget/LaunchBreakendPanel/BreakpointSplitViewChoiceDialog.d.ts +1 -0
  73. package/esm/VariantFeatureWidget/LaunchBreakendPanel/BreakpointSplitViewChoiceDialog.js +1 -0
  74. package/esm/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendPanel.d.ts +1 -1
  75. package/esm/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendPanel.js +8 -23
  76. package/esm/VariantFeatureWidget/VariantConsequence/VariantConsequenceDataGrid.js +1 -1
  77. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -1
  78. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +16 -29
  79. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.d.ts +5 -2
  80. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.js +68 -59
  81. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantSampleFilters.js +13 -2
  82. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.d.ts +1 -1
  83. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.js +72 -30
  84. package/esm/VariantFeatureWidget/VariantSampleGrid/getSampleGridRows.d.ts +2 -2
  85. package/esm/VariantFeatureWidget/VariantSampleGrid/getSampleGridRows.js +49 -26
  86. package/esm/VariantFeatureWidget/VariantSampleGrid/types.d.ts +3 -5
  87. package/esm/VariantFeatureWidget/configSchema.d.ts +1 -1
  88. package/esm/VariantFeatureWidget/index.js +3 -3
  89. package/esm/VariantFeatureWidget/stateModelFactory.d.ts +39 -39
  90. package/esm/VariantFeatureWidget/stateModelFactory.js +1 -1
  91. package/esm/VariantRPC/MultiVariantClusterGenotypeMatrix.d.ts +2 -7
  92. package/esm/VariantRPC/MultiVariantClusterGenotypeMatrix.js +3 -14
  93. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +4 -2
  94. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +2 -5
  95. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +2 -2
  96. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +34 -19
  97. package/esm/VariantRPC/MultiVariantGetSources.js +2 -6
  98. package/esm/VariantRPC/executeClusterGenotypeMatrix.d.ts +22 -0
  99. package/esm/VariantRPC/executeClusterGenotypeMatrix.js +19 -0
  100. package/esm/VariantRPC/getGenotypeMatrix.d.ts +18 -3
  101. package/esm/VariantRPC/getGenotypeMatrix.js +23 -40
  102. package/esm/VariantRPC/types.d.ts +10 -24
  103. package/esm/VariantTrack/configSchema.d.ts +16 -11
  104. package/esm/VariantTrack/index.js +13 -2
  105. package/esm/VariantTrack/saveTrackFormats/vcf.d.ts +4 -0
  106. package/esm/VariantTrack/saveTrackFormats/vcf.js +15 -0
  107. package/esm/VcfAdapter/VcfAdapter.d.ts +6 -3
  108. package/esm/VcfAdapter/VcfAdapter.js +36 -24
  109. package/esm/VcfAdapter/configSchema.d.ts +2 -2
  110. package/esm/VcfAdapter/index.js +3 -2
  111. package/esm/VcfExtensionPoints/index.d.ts +2 -0
  112. package/esm/{extensionPoints.js → VcfExtensionPoints/index.js} +1 -1
  113. package/esm/VcfFeature/index.js +20 -8
  114. package/esm/VcfFeature/util.d.ts +0 -1
  115. package/esm/VcfFeature/util.js +70 -188
  116. package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +2 -0
  117. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +28 -3
  118. package/esm/VcfTabixAdapter/configSchema.d.ts +5 -5
  119. package/esm/VcfTabixAdapter/configSchema.js +1 -1
  120. package/esm/VcfTabixAdapter/index.d.ts +1 -1
  121. package/esm/VcfTabixAdapter/index.js +4 -3
  122. package/esm/d3-hierarchy2/accessors.d.ts +2 -0
  123. package/esm/d3-hierarchy2/accessors.js +8 -0
  124. package/esm/d3-hierarchy2/array.d.ts +2 -0
  125. package/esm/d3-hierarchy2/array.js +15 -0
  126. package/esm/d3-hierarchy2/cluster.d.ts +8 -0
  127. package/esm/d3-hierarchy2/cluster.js +63 -0
  128. package/esm/d3-hierarchy2/constant.d.ts +2 -0
  129. package/esm/d3-hierarchy2/constant.js +8 -0
  130. package/esm/d3-hierarchy2/hierarchy/ancestors.d.ts +1 -0
  131. package/esm/d3-hierarchy2/hierarchy/ancestors.js +7 -0
  132. package/esm/d3-hierarchy2/hierarchy/count.d.ts +1 -0
  133. package/esm/d3-hierarchy2/hierarchy/count.js +12 -0
  134. package/esm/d3-hierarchy2/hierarchy/descendants.d.ts +1 -0
  135. package/esm/d3-hierarchy2/hierarchy/descendants.js +3 -0
  136. package/esm/d3-hierarchy2/hierarchy/each.d.ts +1 -0
  137. package/esm/d3-hierarchy2/hierarchy/each.js +7 -0
  138. package/esm/d3-hierarchy2/hierarchy/eachAfter.d.ts +1 -0
  139. package/esm/d3-hierarchy2/hierarchy/eachAfter.js +15 -0
  140. package/esm/d3-hierarchy2/hierarchy/eachBefore.d.ts +1 -0
  141. package/esm/d3-hierarchy2/hierarchy/eachBefore.js +12 -0
  142. package/esm/d3-hierarchy2/hierarchy/find.d.ts +1 -0
  143. package/esm/d3-hierarchy2/hierarchy/find.js +8 -0
  144. package/esm/d3-hierarchy2/hierarchy/index.d.ts +3 -0
  145. package/esm/d3-hierarchy2/hierarchy/index.js +78 -0
  146. package/esm/d3-hierarchy2/hierarchy/iterator.d.ts +1 -0
  147. package/esm/d3-hierarchy2/hierarchy/iterator.js +14 -0
  148. package/esm/d3-hierarchy2/hierarchy/leaves.d.ts +1 -0
  149. package/esm/d3-hierarchy2/hierarchy/leaves.js +9 -0
  150. package/esm/d3-hierarchy2/hierarchy/links.d.ts +1 -0
  151. package/esm/d3-hierarchy2/hierarchy/links.js +9 -0
  152. package/esm/d3-hierarchy2/hierarchy/path.d.ts +1 -0
  153. package/esm/d3-hierarchy2/hierarchy/path.js +26 -0
  154. package/esm/d3-hierarchy2/hierarchy/sort.d.ts +1 -0
  155. package/esm/d3-hierarchy2/hierarchy/sort.js +7 -0
  156. package/esm/d3-hierarchy2/hierarchy/sum.d.ts +1 -0
  157. package/esm/d3-hierarchy2/hierarchy/sum.js +8 -0
  158. package/esm/d3-hierarchy2/index.d.ts +15 -0
  159. package/esm/d3-hierarchy2/index.js +15 -0
  160. package/esm/d3-hierarchy2/lcg.d.ts +1 -0
  161. package/esm/d3-hierarchy2/lcg.js +7 -0
  162. package/esm/d3-hierarchy2/pack/enclose.d.ts +10 -0
  163. package/esm/d3-hierarchy2/pack/enclose.js +84 -0
  164. package/esm/d3-hierarchy2/pack/index.d.ts +7 -0
  165. package/esm/d3-hierarchy2/pack/index.js +68 -0
  166. package/esm/d3-hierarchy2/pack/siblings.d.ts +2 -0
  167. package/esm/d3-hierarchy2/pack/siblings.js +94 -0
  168. package/esm/d3-hierarchy2/partition.d.ts +6 -0
  169. package/esm/d3-hierarchy2/partition.js +42 -0
  170. package/esm/d3-hierarchy2/stratify.d.ts +9 -0
  171. package/esm/d3-hierarchy2/stratify.js +115 -0
  172. package/esm/d3-hierarchy2/tree.d.ts +8 -0
  173. package/esm/d3-hierarchy2/tree.js +153 -0
  174. package/esm/d3-hierarchy2/treemap/binary.d.ts +1 -0
  175. package/esm/d3-hierarchy2/treemap/binary.js +36 -0
  176. package/esm/d3-hierarchy2/treemap/dice.d.ts +1 -0
  177. package/esm/d3-hierarchy2/treemap/dice.js +7 -0
  178. package/esm/d3-hierarchy2/treemap/index.d.ts +17 -0
  179. package/esm/d3-hierarchy2/treemap/index.js +72 -0
  180. package/esm/d3-hierarchy2/treemap/resquarify.d.ts +5 -0
  181. package/esm/d3-hierarchy2/treemap/resquarify.js +28 -0
  182. package/esm/d3-hierarchy2/treemap/round.d.ts +1 -0
  183. package/esm/d3-hierarchy2/treemap/round.js +6 -0
  184. package/esm/d3-hierarchy2/treemap/slice.d.ts +1 -0
  185. package/esm/d3-hierarchy2/treemap/slice.js +7 -0
  186. package/esm/d3-hierarchy2/treemap/sliceDice.d.ts +1 -0
  187. package/esm/d3-hierarchy2/treemap/sliceDice.js +5 -0
  188. package/esm/d3-hierarchy2/treemap/squarify.d.ts +11 -0
  189. package/esm/d3-hierarchy2/treemap/squarify.js +46 -0
  190. package/esm/index.d.ts +1 -1
  191. package/esm/index.js +19 -22
  192. package/esm/shared/MultiVariantBaseModel.d.ts +1103 -117
  193. package/esm/shared/MultiVariantBaseModel.js +231 -65
  194. package/esm/shared/SharedVariantConfigSchema.d.ts +2 -40
  195. package/esm/shared/SharedVariantConfigSchema.js +1 -46
  196. package/esm/shared/components/AddFiltersDialog.d.ts +2 -3
  197. package/esm/shared/components/AddFiltersDialog.js +20 -28
  198. package/esm/shared/components/{ui/SetColorDialog.d.ts → BaseSetColorDialog.d.ts} +2 -1
  199. package/esm/shared/components/BaseSetColorDialog.js +61 -0
  200. package/esm/shared/components/ClearTreeWarningDialog.d.ts +4 -0
  201. package/esm/shared/components/ClearTreeWarningDialog.js +9 -0
  202. package/esm/shared/components/MAFFilterDialog.d.ts +2 -3
  203. package/esm/shared/components/MAFFilterDialog.js +4 -8
  204. package/esm/shared/components/MultiVariantBaseDisplayComponent.d.ts +1 -1
  205. package/esm/shared/components/MultiVariantBaseDisplayComponent.js +8 -17
  206. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialog.d.ts +1 -1
  207. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialog.js +3 -3
  208. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.d.ts +1 -1
  209. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.js +9 -14
  210. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogManual.d.ts +1 -1
  211. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogManual.js +11 -15
  212. package/esm/shared/components/MultiVariantClusterDialog/types.d.ts +3 -2
  213. package/esm/shared/components/MultiVariantColorLegend.d.ts +1 -1
  214. package/esm/shared/components/MultiVariantColorLegend.js +22 -12
  215. package/esm/shared/components/MultiVariantCrosshairs.d.ts +4 -2
  216. package/esm/shared/components/MultiVariantCrosshairs.js +31 -23
  217. package/esm/shared/components/MultiVariantLegendBar.d.ts +4 -4
  218. package/esm/shared/components/MultiVariantLegendBar.js +24 -22
  219. package/esm/shared/components/MultiVariantLegendBarWrapper.d.ts +7 -0
  220. package/esm/shared/components/MultiVariantLegendBarWrapper.js +18 -0
  221. package/esm/shared/components/MultiVariantTooltip.d.ts +5 -6
  222. package/esm/shared/components/MultiVariantTooltip.js +35 -17
  223. package/esm/shared/components/ScrollableVariantContainer.d.ts +8 -0
  224. package/esm/shared/components/ScrollableVariantContainer.js +23 -0
  225. package/esm/shared/components/SetColorDialog.d.ts +3 -2
  226. package/esm/shared/components/SetColorDialog.js +2 -2
  227. package/esm/shared/components/SetColorDialogBulkEditPanel.d.ts +7 -8
  228. package/esm/shared/components/SetColorDialogBulkEditPanel.js +24 -54
  229. package/esm/shared/components/SetColorDialogRowPalettizer.js +13 -23
  230. package/esm/shared/components/SetRowHeightDialog.d.ts +2 -3
  231. package/esm/shared/components/SourcesDataGrid.d.ts +1 -1
  232. package/esm/shared/components/SourcesDataGrid.js +1 -1
  233. package/esm/shared/components/SourcesGrid.d.ts +1 -1
  234. package/esm/shared/components/SourcesGrid.js +2 -2
  235. package/esm/shared/components/SourcesGridHeader.d.ts +1 -1
  236. package/esm/shared/components/SourcesGridHeader.js +1 -1
  237. package/esm/shared/components/SvgTree.d.ts +5 -0
  238. package/esm/shared/components/SvgTree.js +19 -0
  239. package/esm/shared/components/TreeSidebar.d.ts +5 -0
  240. package/esm/shared/components/TreeSidebar.js +121 -0
  241. package/esm/shared/components/types.d.ts +43 -0
  242. package/esm/shared/components/types.js +1 -0
  243. package/esm/shared/constants.d.ts +8 -2
  244. package/esm/shared/constants.js +11 -2
  245. package/esm/shared/drawAlleleCount.d.ts +2 -1
  246. package/esm/shared/drawAlleleCount.js +50 -16
  247. package/esm/shared/drawPhased.js +11 -12
  248. package/{dist → esm/shared}/getMultiVariantFeaturesAutorun.d.ts +5 -4
  249. package/esm/{getMultiVariantFeaturesAutorun.js → shared/getMultiVariantFeaturesAutorun.js} +9 -2
  250. package/esm/{getMultiVariantSourcesAutorun.d.ts → shared/getMultiVariantSourcesAutorun.d.ts} +4 -3
  251. package/esm/{getMultiVariantSourcesAutorun.js → shared/getMultiVariantSourcesAutorun.js} +10 -2
  252. package/esm/shared/getSources.d.ts +1 -1
  253. package/esm/shared/getSources.js +2 -2
  254. package/esm/shared/hooks/useMouseTracking.d.ts +6 -0
  255. package/esm/shared/hooks/useMouseTracking.js +34 -0
  256. package/esm/shared/makeSidebarSvg.d.ts +9 -0
  257. package/esm/shared/makeSidebarSvg.js +9 -0
  258. package/esm/shared/minorAlleleFrequencyUtils.d.ts +6 -5
  259. package/esm/shared/minorAlleleFrequencyUtils.js +37 -38
  260. package/esm/shared/setupMultiVariantAutoruns.d.ts +2 -0
  261. package/esm/shared/setupMultiVariantAutoruns.js +8 -0
  262. package/esm/shared/treeDrawingAutorun.d.ts +16 -0
  263. package/esm/shared/treeDrawingAutorun.js +71 -0
  264. package/esm/shared/types.d.ts +15 -0
  265. package/package.json +38 -39
  266. package/dist/ChordVariantDisplay/index.d.ts +0 -2
  267. package/dist/ChordVariantDisplay/index.js +0 -25
  268. package/dist/ChordVariantDisplay/models/configSchema.d.ts +0 -12
  269. package/dist/ChordVariantDisplay/models/configSchema.js +0 -15
  270. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +0 -115
  271. package/dist/ChordVariantDisplay/models/stateModelFactory.js +0 -35
  272. package/dist/LinearVariantDisplay/configSchema.d.ts +0 -34
  273. package/dist/LinearVariantDisplay/configSchema.js +0 -12
  274. package/dist/LinearVariantDisplay/index.d.ts +0 -2
  275. package/dist/LinearVariantDisplay/index.js +0 -24
  276. package/dist/LinearVariantDisplay/model.d.ts +0 -278
  277. package/dist/LinearVariantDisplay/model.js +0 -37
  278. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +0 -5
  279. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +0 -29
  280. package/dist/MultiLinearVariantDisplay/configSchema.d.ts +0 -80
  281. package/dist/MultiLinearVariantDisplay/configSchema.js +0 -30
  282. package/dist/MultiLinearVariantDisplay/index.d.ts +0 -2
  283. package/dist/MultiLinearVariantDisplay/index.js +0 -57
  284. package/dist/MultiLinearVariantDisplay/model.d.ts +0 -422
  285. package/dist/MultiLinearVariantDisplay/model.js +0 -82
  286. package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +0 -3
  287. package/dist/MultiLinearVariantDisplay/renderSvg.js +0 -15
  288. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +0 -6
  289. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +0 -83
  290. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +0 -5
  291. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +0 -31
  292. package/dist/MultiLinearVariantMatrixDisplay/configSchema.d.ts +0 -37
  293. package/dist/MultiLinearVariantMatrixDisplay/configSchema.js +0 -22
  294. package/dist/MultiLinearVariantMatrixDisplay/index.d.ts +0 -2
  295. package/dist/MultiLinearVariantMatrixDisplay/index.js +0 -24
  296. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +0 -431
  297. package/dist/MultiLinearVariantMatrixDisplay/model.js +0 -125
  298. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +0 -3
  299. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +0 -17
  300. package/dist/MultiLinearVariantMatrixRenderer/MultiLinearVariantMatrixRenderer.d.ts +0 -37
  301. package/dist/MultiLinearVariantMatrixRenderer/MultiLinearVariantMatrixRenderer.js +0 -87
  302. package/dist/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.d.ts +0 -8
  303. package/dist/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.js +0 -41
  304. package/dist/MultiLinearVariantMatrixRenderer/configSchema.d.ts +0 -2
  305. package/dist/MultiLinearVariantMatrixRenderer/configSchema.js +0 -6
  306. package/dist/MultiLinearVariantMatrixRenderer/index.d.ts +0 -2
  307. package/dist/MultiLinearVariantMatrixRenderer/index.js +0 -20
  308. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +0 -14
  309. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.js +0 -154
  310. package/dist/MultiLinearVariantMatrixRenderer/types.d.ts +0 -14
  311. package/dist/MultiLinearVariantMatrixRenderer/types.js +0 -2
  312. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +0 -63
  313. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +0 -79
  314. package/dist/MultiLinearVariantRenderer/components/MultiLinearVariantRendering.d.ts +0 -33
  315. package/dist/MultiLinearVariantRenderer/components/MultiLinearVariantRendering.js +0 -67
  316. package/dist/MultiLinearVariantRenderer/components/util.d.ts +0 -1
  317. package/dist/MultiLinearVariantRenderer/components/util.js +0 -15
  318. package/dist/MultiLinearVariantRenderer/configSchema.d.ts +0 -2
  319. package/dist/MultiLinearVariantRenderer/configSchema.js +0 -8
  320. package/dist/MultiLinearVariantRenderer/index.d.ts +0 -2
  321. package/dist/MultiLinearVariantRenderer/index.js +0 -19
  322. package/dist/MultiLinearVariantRenderer/makeImageData.d.ts +0 -14
  323. package/dist/MultiLinearVariantRenderer/makeImageData.js +0 -140
  324. package/dist/MultiLinearVariantRenderer/types.d.ts +0 -21
  325. package/dist/MultiLinearVariantRenderer/types.js +0 -2
  326. package/dist/MultiVariantBaseRenderer.d.ts +0 -46
  327. package/dist/MultiVariantBaseRenderer.js +0 -39
  328. package/dist/SplitVcfTabixAdapter/SplitVcfTabixAdapter.d.ts +0 -18
  329. package/dist/SplitVcfTabixAdapter/SplitVcfTabixAdapter.js +0 -92
  330. package/dist/SplitVcfTabixAdapter/configSchema.d.ts +0 -23
  331. package/dist/SplitVcfTabixAdapter/configSchema.js +0 -29
  332. package/dist/SplitVcfTabixAdapter/index.d.ts +0 -3
  333. package/dist/SplitVcfTabixAdapter/index.js +0 -52
  334. package/dist/StructuralVariantChordRenderer/Chord.d.ts +0 -13
  335. package/dist/StructuralVariantChordRenderer/Chord.js +0 -82
  336. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +0 -16
  337. package/dist/StructuralVariantChordRenderer/ReactComponent.js +0 -30
  338. package/dist/StructuralVariantChordRenderer/configSchema.d.ts +0 -21
  339. package/dist/StructuralVariantChordRenderer/configSchema.js +0 -25
  340. package/dist/StructuralVariantChordRenderer/index.d.ts +0 -2
  341. package/dist/StructuralVariantChordRenderer/index.js +0 -18
  342. package/dist/StructuralVariantChordRenderer/types.d.ts +0 -17
  343. package/dist/StructuralVariantChordRenderer/types.js +0 -2
  344. package/dist/Tooltip.d.ts +0 -19
  345. package/dist/Tooltip.js +0 -32
  346. package/dist/VariantFeatureWidget/AltFormatter.d.ts +0 -4
  347. package/dist/VariantFeatureWidget/AltFormatter.js +0 -13
  348. package/dist/VariantFeatureWidget/Checkbox2.d.ts +0 -6
  349. package/dist/VariantFeatureWidget/Checkbox2.js +0 -8
  350. package/dist/VariantFeatureWidget/Formatter.d.ts +0 -3
  351. package/dist/VariantFeatureWidget/Formatter.js +0 -23
  352. package/dist/VariantFeatureWidget/LaunchBreakendPanel/BreakendMultiLevelOptionDialog.d.ts +0 -1
  353. package/dist/VariantFeatureWidget/LaunchBreakendPanel/BreakendMultiLevelOptionDialog.js +0 -5
  354. package/dist/VariantFeatureWidget/LaunchBreakendPanel/BreakendSingleLevelOptionDialog.d.ts +0 -1
  355. package/dist/VariantFeatureWidget/LaunchBreakendPanel/BreakendSingleLevelOptionDialog.js +0 -5
  356. package/dist/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendPanel.d.ts +0 -7
  357. package/dist/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendPanel.js +0 -111
  358. package/dist/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendWidgetArea.d.ts +0 -4
  359. package/dist/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendWidgetArea.js +0 -60
  360. package/dist/VariantFeatureWidget/LaunchBreakendPanel/index.d.ts +0 -1
  361. package/dist/VariantFeatureWidget/LaunchBreakendPanel/index.js +0 -8
  362. package/dist/VariantFeatureWidget/VariantConsequence/VariantConsequenceDataGrid.d.ts +0 -5
  363. package/dist/VariantFeatureWidget/VariantConsequence/VariantConsequenceDataGrid.js +0 -15
  364. package/dist/VariantFeatureWidget/VariantConsequence/VariantConsequenceDataGridWrapper.d.ts +0 -5
  365. package/dist/VariantFeatureWidget/VariantConsequence/VariantConsequenceDataGridWrapper.js +0 -18
  366. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +0 -5
  367. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +0 -103
  368. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.d.ts +0 -4
  369. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.js +0 -80
  370. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantSampleFilters.d.ts +0 -9
  371. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantSampleFilters.js +0 -10
  372. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.d.ts +0 -6
  373. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.js +0 -54
  374. package/dist/VariantFeatureWidget/VariantSampleGrid/getSampleGridRows.d.ts +0 -5
  375. package/dist/VariantFeatureWidget/VariantSampleGrid/getSampleGridRows.js +0 -51
  376. package/dist/VariantFeatureWidget/VariantSampleGrid/index.d.ts +0 -1
  377. package/dist/VariantFeatureWidget/VariantSampleGrid/index.js +0 -8
  378. package/dist/VariantFeatureWidget/VariantSampleGrid/types.d.ts +0 -21
  379. package/dist/VariantFeatureWidget/VariantSampleGrid/types.js +0 -2
  380. package/dist/VariantFeatureWidget/VariantSampleGrid/util.d.ts +0 -1
  381. package/dist/VariantFeatureWidget/VariantSampleGrid/util.js +0 -14
  382. package/dist/VariantFeatureWidget/configSchema.d.ts +0 -1
  383. package/dist/VariantFeatureWidget/configSchema.js +0 -5
  384. package/dist/VariantFeatureWidget/index.d.ts +0 -2
  385. package/dist/VariantFeatureWidget/index.js +0 -52
  386. package/dist/VariantFeatureWidget/stateModelFactory.d.ts +0 -104
  387. package/dist/VariantFeatureWidget/stateModelFactory.js +0 -12
  388. package/dist/VariantFeatureWidget/types.d.ts +0 -16
  389. package/dist/VariantFeatureWidget/types.js +0 -2
  390. package/dist/VariantFeatureWidget/variantFieldDescriptions.d.ts +0 -9
  391. package/dist/VariantFeatureWidget/variantFieldDescriptions.js +0 -12
  392. package/dist/VariantRPC/MultiVariantClusterGenotypeMatrix.d.ts +0 -14
  393. package/dist/VariantRPC/MultiVariantClusterGenotypeMatrix.js +0 -30
  394. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +0 -6
  395. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +0 -21
  396. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +0 -19
  397. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +0 -58
  398. package/dist/VariantRPC/MultiVariantGetSources.d.ts +0 -14
  399. package/dist/VariantRPC/MultiVariantGetSources.js +0 -22
  400. package/dist/VariantRPC/getGenotypeMatrix.d.ts +0 -6
  401. package/dist/VariantRPC/getGenotypeMatrix.js +0 -68
  402. package/dist/VariantRPC/types.d.ts +0 -36
  403. package/dist/VariantRPC/types.js +0 -2
  404. package/dist/VariantTrack/configSchema.d.ts +0 -79
  405. package/dist/VariantTrack/configSchema.js +0 -10
  406. package/dist/VariantTrack/index.d.ts +0 -2
  407. package/dist/VariantTrack/index.js +0 -20
  408. package/dist/VcfAdapter/VcfAdapter.d.ts +0 -35
  409. package/dist/VcfAdapter/VcfAdapter.js +0 -119
  410. package/dist/VcfAdapter/configSchema.d.ts +0 -18
  411. package/dist/VcfAdapter/configSchema.js +0 -35
  412. package/dist/VcfAdapter/index.d.ts +0 -2
  413. package/dist/VcfAdapter/index.js +0 -49
  414. package/dist/VcfAdapter/vcfParser.d.ts +0 -7
  415. package/dist/VcfAdapter/vcfParser.js +0 -26
  416. package/dist/VcfFeature/index.d.ts +0 -19
  417. package/dist/VcfFeature/index.js +0 -80
  418. package/dist/VcfFeature/util.d.ts +0 -6
  419. package/dist/VcfFeature/util.js +0 -227
  420. package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +0 -25
  421. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +0 -117
  422. package/dist/VcfTabixAdapter/configSchema.d.ts +0 -32
  423. package/dist/VcfTabixAdapter/configSchema.js +0 -56
  424. package/dist/VcfTabixAdapter/index.d.ts +0 -3
  425. package/dist/VcfTabixAdapter/index.js +0 -52
  426. package/dist/extensionPoints.d.ts +0 -2
  427. package/dist/extensionPoints.js +0 -39
  428. package/dist/getMultiVariantFeaturesAutorun.js +0 -48
  429. package/dist/getMultiVariantSourcesAutorun.d.ts +0 -11
  430. package/dist/getMultiVariantSourcesAutorun.js +0 -38
  431. package/dist/index.d.ts +0 -7
  432. package/dist/index.js +0 -52
  433. package/dist/shared/MultiVariantBaseModel.d.ts +0 -413
  434. package/dist/shared/MultiVariantBaseModel.js +0 -373
  435. package/dist/shared/SharedVariantConfigSchema.d.ts +0 -66
  436. package/dist/shared/SharedVariantConfigSchema.js +0 -56
  437. package/dist/shared/SharedVariantMixin.d.ts +0 -325
  438. package/dist/shared/SharedVariantMixin.js +0 -58
  439. package/dist/shared/components/AddFiltersDialog.d.ts +0 -9
  440. package/dist/shared/components/AddFiltersDialog.js +0 -61
  441. package/dist/shared/components/MAFFilterDialog.d.ts +0 -8
  442. package/dist/shared/components/MAFFilterDialog.js +0 -28
  443. package/dist/shared/components/MultiVariantBaseDisplayComponent.d.ts +0 -5
  444. package/dist/shared/components/MultiVariantBaseDisplayComponent.js +0 -29
  445. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialog.d.ts +0 -6
  446. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialog.js +0 -29
  447. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.d.ts +0 -7
  448. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.js +0 -74
  449. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogManual.d.ts +0 -7
  450. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogManual.js +0 -145
  451. package/dist/shared/components/MultiVariantClusterDialog/types.d.ts +0 -10
  452. package/dist/shared/components/MultiVariantClusterDialog/types.js +0 -2
  453. package/dist/shared/components/MultiVariantColorLegend.d.ts +0 -10
  454. package/dist/shared/components/MultiVariantColorLegend.js +0 -24
  455. package/dist/shared/components/MultiVariantCrosshairs.d.ts +0 -7
  456. package/dist/shared/components/MultiVariantCrosshairs.js +0 -40
  457. package/dist/shared/components/MultiVariantLegendBar.d.ts +0 -7
  458. package/dist/shared/components/MultiVariantLegendBar.js +0 -32
  459. package/dist/shared/components/MultiVariantTooltip.d.ts +0 -10
  460. package/dist/shared/components/MultiVariantTooltip.js +0 -24
  461. package/dist/shared/components/RectBg.d.ts +0 -8
  462. package/dist/shared/components/RectBg.js +0 -10
  463. package/dist/shared/components/SetColorDialog.d.ts +0 -11
  464. package/dist/shared/components/SetColorDialog.js +0 -12
  465. package/dist/shared/components/SetColorDialogBulkEditPanel.d.ts +0 -10
  466. package/dist/shared/components/SetColorDialogBulkEditPanel.js +0 -84
  467. package/dist/shared/components/SetColorDialogHelpfulTips.d.ts +0 -1
  468. package/dist/shared/components/SetColorDialogHelpfulTips.js +0 -7
  469. package/dist/shared/components/SetColorDialogRowPalettizer.d.ts +0 -10
  470. package/dist/shared/components/SetColorDialogRowPalettizer.js +0 -41
  471. package/dist/shared/components/SetMinMaxDialog.d.ts +0 -10
  472. package/dist/shared/components/SetMinMaxDialog.js +0 -26
  473. package/dist/shared/components/SetRowHeightDialog.d.ts +0 -8
  474. package/dist/shared/components/SetRowHeightDialog.js +0 -18
  475. package/dist/shared/components/SourcesDataGrid.d.ts +0 -7
  476. package/dist/shared/components/SourcesDataGrid.js +0 -68
  477. package/dist/shared/components/SourcesGrid.d.ts +0 -7
  478. package/dist/shared/components/SourcesGrid.js +0 -14
  479. package/dist/shared/components/SourcesGridHeader.d.ts +0 -8
  480. package/dist/shared/components/SourcesGridHeader.js +0 -41
  481. package/dist/shared/components/ui/SetColorDialog.d.ts +0 -31
  482. package/dist/shared/components/ui/SetColorDialog.js +0 -51
  483. package/dist/shared/components/ui/SetColorDialogBulkEditPanel.d.ts +0 -10
  484. package/dist/shared/components/ui/SetColorDialogBulkEditPanel.js +0 -84
  485. package/dist/shared/components/ui/SetColorDialogHelpfulTips.d.ts +0 -1
  486. package/dist/shared/components/ui/SetColorDialogHelpfulTips.js +0 -7
  487. package/dist/shared/components/ui/SetColorDialogRowPalettizer.d.ts +0 -10
  488. package/dist/shared/components/ui/SetColorDialogRowPalettizer.js +0 -41
  489. package/dist/shared/constants.d.ts +0 -2
  490. package/dist/shared/constants.js +0 -5
  491. package/dist/shared/drawAlleleCount.d.ts +0 -2
  492. package/dist/shared/drawAlleleCount.js +0 -50
  493. package/dist/shared/drawPhased.d.ts +0 -1
  494. package/dist/shared/drawPhased.js +0 -25
  495. package/dist/shared/findSecondLargestNumber.d.ts +0 -0
  496. package/dist/shared/findSecondLargestNumber.js +0 -1
  497. package/dist/shared/getSources.d.ts +0 -15
  498. package/dist/shared/getSources.js +0 -34
  499. package/dist/shared/minorAlleleFrequencyUtils.d.ts +0 -14
  500. package/dist/shared/minorAlleleFrequencyUtils.js +0 -72
  501. package/dist/shared/sourcesGridUtils.d.ts +0 -11
  502. package/dist/shared/sourcesGridUtils.js +0 -32
  503. package/dist/shared/types.d.ts +0 -14
  504. package/dist/shared/types.js +0 -2
  505. package/dist/shared/util.d.ts +0 -2
  506. package/dist/shared/util.js +0 -21
  507. package/dist/util.d.ts +0 -0
  508. package/dist/util.js +0 -1
  509. package/esm/MultiVariantBaseRenderer.d.ts +0 -46
  510. package/esm/MultiVariantBaseRenderer.js +0 -33
  511. package/esm/VariantFeatureWidget/Checkbox2.d.ts +0 -6
  512. package/esm/VariantFeatureWidget/Checkbox2.js +0 -5
  513. package/esm/VariantFeatureWidget/LaunchBreakendPanel/BreakendMultiLevelOptionDialog.d.ts +0 -1
  514. package/esm/VariantFeatureWidget/LaunchBreakendPanel/BreakendMultiLevelOptionDialog.js +0 -1
  515. package/esm/VariantFeatureWidget/LaunchBreakendPanel/BreakendSingleLevelOptionDialog.d.ts +0 -1
  516. package/esm/VariantFeatureWidget/LaunchBreakendPanel/BreakendSingleLevelOptionDialog.js +0 -1
  517. package/esm/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendWidgetArea.d.ts +0 -4
  518. package/esm/VariantFeatureWidget/LaunchBreakendPanel/LaunchBreakendWidgetArea.js +0 -24
  519. package/esm/VariantFeatureWidget/LaunchBreakendPanel/index.d.ts +0 -1
  520. package/esm/VariantFeatureWidget/LaunchBreakendPanel/index.js +0 -1
  521. package/esm/VariantFeatureWidget/VariantSampleGrid/index.d.ts +0 -1
  522. package/esm/VariantFeatureWidget/VariantSampleGrid/index.js +0 -1
  523. package/esm/VariantFeatureWidget/VariantSampleGrid/util.d.ts +0 -1
  524. package/esm/VariantFeatureWidget/VariantSampleGrid/util.js +0 -11
  525. package/esm/extensionPoints.d.ts +0 -2
  526. package/esm/getMultiVariantFeaturesAutorun.d.ts +0 -18
  527. package/esm/shared/SharedVariantMixin.d.ts +0 -325
  528. package/esm/shared/SharedVariantMixin.js +0 -55
  529. package/esm/shared/components/ui/SetColorDialog.js +0 -45
  530. package/esm/shared/components/ui/SetColorDialogBulkEditPanel.d.ts +0 -10
  531. package/esm/shared/components/ui/SetColorDialogBulkEditPanel.js +0 -81
  532. package/esm/shared/components/ui/SetColorDialogHelpfulTips.d.ts +0 -1
  533. package/esm/shared/components/ui/SetColorDialogHelpfulTips.js +0 -4
  534. package/esm/shared/components/ui/SetColorDialogRowPalettizer.d.ts +0 -10
  535. package/esm/shared/components/ui/SetColorDialogRowPalettizer.js +0 -38
  536. package/esm/shared/findSecondLargestNumber.d.ts +0 -0
  537. package/esm/shared/findSecondLargestNumber.js +0 -1
  538. package/esm/shared/util.d.ts +0 -2
  539. package/esm/shared/util.js +0 -17
@@ -1,151 +1,171 @@
1
- import { forEachWithStopTokenCheck, updateStatus } from '@jbrowse/core/util';
2
- import { checkStopToken } from '@jbrowse/core/util/stopToken';
3
- import { f2 } from '../shared/constants';
4
- import { drawColorAlleleCount, getColorAlleleCount, } from '../shared/drawAlleleCount';
5
- import { drawPhased } from '../shared/drawPhased';
6
- import { getFeaturesThatPassMinorAlleleFrequencyFilter } from '../shared/minorAlleleFrequencyUtils';
7
- export async function makeImageData({ ctx, canvasWidth, canvasHeight, renderArgs, }) {
8
- const { renderingMode, minorAlleleFrequencyFilter, sources, features, stopToken, lengthCutoffFilter, } = renderArgs;
9
- const { statusCallback = () => { } } = renderArgs;
10
- const h = canvasHeight / sources.length;
11
- checkStopToken(stopToken);
12
- const mafs = await updateStatus('Calculating stats', statusCallback, () => getFeaturesThatPassMinorAlleleFrequencyFilter({
13
- stopToken,
14
- features: features.values(),
15
- minorAlleleFrequencyFilter,
16
- lengthCutoffFilter,
17
- }));
18
- checkStopToken(stopToken);
1
+ import { updateStatus } from '@jbrowse/core/util';
2
+ import { checkStopToken2, createStopTokenChecker, } from '@jbrowse/core/util/stopToken';
3
+ import { f2 } from "../shared/constants.js";
4
+ import { drawColorAlleleCount, getAlleleColor, } from "../shared/drawAlleleCount.js";
5
+ import { drawPhased } from "../shared/drawPhased.js";
6
+ import { getFeaturesThatPassMinorAlleleFrequencyFilter } from "../shared/minorAlleleFrequencyUtils.js";
7
+ function drawPhasedMode(drawCtx, mafs) {
8
+ const { ctx, sources, startRow, endRow, h, w, scrollTop, splitCache, genotypesCache, stopToken, } = drawCtx;
19
9
  const arr = [];
20
- const m = mafs.length;
21
- const w = canvasWidth / m;
22
- await updateStatus('Drawing variant matrix', statusCallback, () => {
23
- const colorCache = {};
24
- forEachWithStopTokenCheck(mafs, stopToken, ({ feature, mostFrequentAlt }, idx) => {
25
- var _a, _b, _c;
26
- const arr2 = [];
27
- const hasPhaseSet = (_a = feature.get('FORMAT')) === null || _a === void 0 ? void 0 : _a.includes('PS');
28
- if (hasPhaseSet) {
29
- const samp = feature.get('samples');
30
- const x = (idx / mafs.length) * canvasWidth;
31
- const sln = sources.length;
32
- for (let j = 0; j < sln; j++) {
33
- const y = (j / sln) * canvasHeight;
34
- const { name, HP } = sources[j];
35
- const s = samp[name];
36
- if (s) {
37
- const genotype = (_b = s.GT) === null || _b === void 0 ? void 0 : _b[0];
38
- if (genotype) {
39
- arr2.push(genotype);
40
- const isPhased = genotype.includes('|');
41
- if (renderingMode === 'phased') {
42
- if (isPhased) {
43
- const PS = (_c = s.PS) === null || _c === void 0 ? void 0 : _c[0];
44
- const alleles = genotype.split('|');
45
- drawPhased(alleles, ctx, x, y, w, h, HP, PS);
46
- }
47
- else {
48
- ctx.fillStyle = 'black';
49
- ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
50
- }
51
- }
52
- else {
53
- const cacheKey = `${genotype}:${mostFrequentAlt}`;
54
- let c = colorCache[cacheKey];
55
- if (c === undefined) {
56
- let alt = 0;
57
- let uncalled = 0;
58
- let alt2 = 0;
59
- let ref = 0;
60
- const alleles = genotype.split(/[/|]/);
61
- const total = alleles.length;
62
- for (let i = 0; i < total; i++) {
63
- const allele = alleles[i];
64
- if (allele === mostFrequentAlt) {
65
- alt++;
66
- }
67
- else if (allele === '0') {
68
- ref++;
69
- }
70
- else if (allele === '.') {
71
- uncalled++;
72
- }
73
- else {
74
- alt2++;
75
- }
76
- }
77
- c = getColorAlleleCount(ref, alt, alt2, uncalled, total, true);
78
- colorCache[cacheKey] = c;
79
- }
80
- if (c) {
81
- drawColorAlleleCount(c, ctx, x, y, w, h);
82
- }
83
- }
10
+ const lastCheck = createStopTokenChecker(stopToken);
11
+ for (let idx = 0, l = mafs.length; idx < l; idx++) {
12
+ const { feature } = mafs[idx];
13
+ const arr2 = [];
14
+ const hasPhaseSet = feature.get('FORMAT')?.includes('PS');
15
+ const x = idx * w;
16
+ if (hasPhaseSet) {
17
+ const samp = feature.get('samples');
18
+ for (let j = startRow; j < endRow; j++) {
19
+ const y = j * h - scrollTop;
20
+ const { name, HP } = sources[j];
21
+ const s = samp[name];
22
+ if (s) {
23
+ const genotype = s.GT?.[0];
24
+ if (genotype) {
25
+ arr2.push(genotype);
26
+ const isPhased = genotype.includes('|');
27
+ if (isPhased) {
28
+ const PS = s.PS?.[0];
29
+ const alleles = splitCache[genotype] ??
30
+ (splitCache[genotype] = genotype.split('|'));
31
+ drawPhased(alleles, ctx, x, y, w, h, HP, PS);
84
32
  }
33
+ else {
34
+ ctx.fillStyle = 'black';
35
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ else {
42
+ const featureId = feature.id();
43
+ let samp = genotypesCache.get(featureId);
44
+ if (!samp) {
45
+ samp = feature.get('genotypes');
46
+ genotypesCache.set(featureId, samp);
47
+ }
48
+ for (let j = startRow; j < endRow; j++) {
49
+ const y = j * h - scrollTop;
50
+ const { name, HP } = sources[j];
51
+ const genotype = samp[name];
52
+ if (genotype) {
53
+ arr2.push(genotype);
54
+ const isPhased = genotype.includes('|');
55
+ if (isPhased) {
56
+ const alleles = splitCache[genotype] ??
57
+ (splitCache[genotype] = genotype.split('|'));
58
+ drawPhased(alleles, ctx, x, y, w, h, HP);
59
+ }
60
+ else {
61
+ ctx.fillStyle = 'black';
62
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
85
63
  }
86
64
  }
87
65
  }
88
- else {
89
- const samp = feature.get('genotypes');
90
- const x = (idx / mafs.length) * canvasWidth;
91
- const sln = sources.length;
92
- for (let j = 0; j < sln; j++) {
93
- const y = (j / sln) * canvasHeight;
94
- const { name, HP } = sources[j];
95
- const genotype = samp[name];
66
+ }
67
+ arr.push(arr2);
68
+ checkStopToken2(lastCheck);
69
+ }
70
+ return arr;
71
+ }
72
+ function drawAlleleCountMode(drawCtx, mafs) {
73
+ const { ctx, sources, startRow, endRow, h, w, scrollTop, splitCache, stopToken, colorCache, genotypesCache, } = drawCtx;
74
+ const arr = [];
75
+ const lastCheck = createStopTokenChecker(stopToken);
76
+ for (let idx = 0, l = mafs.length; idx < l; idx++) {
77
+ const { feature, mostFrequentAlt } = mafs[idx];
78
+ const arr2 = [];
79
+ const hasPhaseSet = feature.get('FORMAT')?.includes('PS');
80
+ const x = idx * w;
81
+ if (hasPhaseSet) {
82
+ const samp = feature.get('samples');
83
+ for (let j = startRow; j < endRow; j++) {
84
+ const y = j * h - scrollTop;
85
+ const { name } = sources[j];
86
+ const s = samp[name];
87
+ if (s) {
88
+ const genotype = s.GT?.[0];
96
89
  if (genotype) {
97
90
  arr2.push(genotype);
98
- const isPhased = genotype.includes('|');
99
- if (renderingMode === 'phased') {
100
- if (isPhased) {
101
- const alleles = genotype.split('|');
102
- drawPhased(alleles, ctx, x, y, w, h, HP);
103
- }
104
- else {
105
- ctx.fillStyle = 'black';
106
- ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
107
- }
108
- }
109
- else {
110
- const cacheKey = `${genotype}:${mostFrequentAlt}`;
111
- let c = colorCache[cacheKey];
112
- if (c === undefined) {
113
- let alt = 0;
114
- let uncalled = 0;
115
- let alt2 = 0;
116
- let ref = 0;
117
- const alleles = genotype.split(/[/|]/);
118
- const total = alleles.length;
119
- for (let i = 0; i < total; i++) {
120
- const allele = alleles[i];
121
- if (allele === mostFrequentAlt) {
122
- alt++;
123
- }
124
- else if (allele === '0') {
125
- ref++;
126
- }
127
- else if (allele === '.') {
128
- uncalled++;
129
- }
130
- else {
131
- alt2++;
132
- }
133
- }
134
- c = getColorAlleleCount(ref, alt, alt2, uncalled, total, true);
135
- colorCache[cacheKey] = c;
136
- }
137
- if (c) {
138
- drawColorAlleleCount(c, ctx, x, y, w, h);
139
- }
91
+ const c = getAlleleColor(genotype, mostFrequentAlt, colorCache, splitCache, true);
92
+ if (c) {
93
+ drawColorAlleleCount(c, ctx, x, y, w, h);
140
94
  }
141
95
  }
142
96
  }
143
97
  }
144
- arr.push(arr2);
145
- });
146
- });
98
+ }
99
+ else {
100
+ const featureId = feature.id();
101
+ let samp = genotypesCache.get(featureId);
102
+ if (!samp) {
103
+ samp = feature.get('genotypes');
104
+ genotypesCache.set(featureId, samp);
105
+ }
106
+ for (let j = startRow; j < endRow; j++) {
107
+ const y = j * h - scrollTop;
108
+ const { name } = sources[j];
109
+ const genotype = samp[name];
110
+ if (genotype) {
111
+ arr2.push(genotype);
112
+ const c = getAlleleColor(genotype, mostFrequentAlt, colorCache, splitCache, true);
113
+ if (c) {
114
+ drawColorAlleleCount(c, ctx, x, y, w, h);
115
+ }
116
+ }
117
+ }
118
+ }
119
+ arr.push(arr2);
120
+ checkStopToken2(lastCheck);
121
+ }
122
+ return arr;
123
+ }
124
+ export async function makeImageData({ ctx, canvasWidth, canvasHeight, renderArgs, }) {
125
+ const { renderingMode, minorAlleleFrequencyFilter, sources, features, stopToken, lengthCutoffFilter, rowHeight, scrollTop, statusCallback = () => { }, } = renderArgs;
126
+ const h = rowHeight;
127
+ const startRow = Math.floor(scrollTop / h);
128
+ const endRow = Math.min(sources.length, Math.ceil((scrollTop + canvasHeight) / h));
129
+ const lastCheck = createStopTokenChecker(stopToken);
130
+ const genotypesCache = new Map();
131
+ const colorCache = {};
132
+ const splitCache = {};
133
+ const mafs = await updateStatus('Calculating stats', statusCallback, () => getFeaturesThatPassMinorAlleleFrequencyFilter({
134
+ lastCheck,
135
+ features: features.values(),
136
+ minorAlleleFrequencyFilter,
137
+ lengthCutoffFilter,
138
+ genotypesCache,
139
+ splitCache,
140
+ }));
141
+ const m = mafs.length;
142
+ const w = canvasWidth / m;
143
+ const drawCtx = {
144
+ ctx,
145
+ sources,
146
+ startRow,
147
+ endRow,
148
+ h,
149
+ w,
150
+ scrollTop,
151
+ splitCache,
152
+ colorCache,
153
+ genotypesCache,
154
+ stopToken,
155
+ };
156
+ const arr = await updateStatus('Drawing variant matrix', statusCallback, () => renderingMode === 'phased'
157
+ ? drawPhasedMode(drawCtx, mafs)
158
+ : drawAlleleCountMode(drawCtx, mafs));
159
+ const featureData = mafs.map(({ feature }) => ({
160
+ alt: feature.get('ALT'),
161
+ ref: feature.get('REF'),
162
+ name: feature.get('name'),
163
+ description: feature.get('description'),
164
+ length: feature.get('end') - feature.get('start'),
165
+ }));
147
166
  return {
148
167
  mafs,
149
168
  arr,
169
+ featureData,
150
170
  };
151
171
  }
@@ -1,14 +1,2 @@
1
- import type { Source } from '../shared/types';
2
- import type { RenderArgsDeserialized as BoxRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
3
- import type { Feature } from '@jbrowse/core/util';
4
- export interface RenderArgsDeserialized extends BoxRenderArgsDeserialized {
5
- sources: Source[];
6
- minorAlleleFrequencyFilter: number;
7
- highResolutionScaling: number;
8
- height: number;
9
- features: Map<string, Feature>;
10
- renderingMode: string;
11
- statusCallback?: (arg: string) => void;
12
- lengthCutoffFilter: number;
13
- stopToken: string;
14
- }
1
+ import type { MultiVariantRenderArgsBase } from '../shared/types.ts';
2
+ export type RenderArgsDeserialized = MultiVariantRenderArgsBase;
@@ -1,63 +1,6 @@
1
1
  import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
- import type { MultiRenderArgsDeserialized } from './types';
3
- import type { Feature } from '@jbrowse/core/util';
4
- export default class MultiVariantBaseRenderer extends FeatureRendererType {
2
+ import type { MultiRenderArgsDeserialized } from './types.ts';
3
+ export default class MultiVariantRenderer extends FeatureRendererType {
5
4
  supportsSVG: boolean;
6
- render(renderProps: MultiRenderArgsDeserialized): Promise<{
7
- features: Map<string, Feature>;
8
- height: number;
9
- width: number;
10
- containsNoTransferables: boolean;
11
- flatbush: ArrayBufferLike;
12
- items: any[];
13
- featureGenotypeMap: {
14
- [k: string]: {
15
- alt: any;
16
- ref: any;
17
- name: any;
18
- description: any;
19
- length: number;
20
- };
21
- };
22
- canvasRecordedData: Record<string, unknown>;
23
- reactElement?: React.ReactElement;
24
- html?: string;
25
- } | {
26
- features: Map<string, Feature>;
27
- height: number;
28
- width: number;
29
- containsNoTransferables: boolean;
30
- flatbush: ArrayBufferLike;
31
- items: any[];
32
- featureGenotypeMap: {
33
- [k: string]: {
34
- alt: any;
35
- ref: any;
36
- name: any;
37
- description: any;
38
- length: number;
39
- };
40
- };
41
- imageData: any;
42
- reactElement?: React.ReactElement;
43
- html?: string;
44
- } | {
45
- features: Map<string, Feature>;
46
- height: number;
47
- width: number;
48
- containsNoTransferables: boolean;
49
- flatbush: ArrayBufferLike;
50
- items: any[];
51
- featureGenotypeMap: {
52
- [k: string]: {
53
- alt: any;
54
- ref: any;
55
- name: any;
56
- description: any;
57
- length: number;
58
- };
59
- };
60
- reactElement: React.ReactElement;
61
- html?: string;
62
- }>;
5
+ render(renderProps: MultiRenderArgsDeserialized): Promise<import("librpc-web-mod").RpcResult>;
63
6
  }
@@ -1,16 +1,15 @@
1
1
  import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
2
  import { renderToAbstractCanvas } from '@jbrowse/core/util';
3
- export default class MultiVariantBaseRenderer extends FeatureRendererType {
4
- constructor() {
5
- super(...arguments);
6
- this.supportsSVG = true;
7
- }
3
+ import { rpcResult } from '@jbrowse/core/util/librpc';
4
+ import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill';
5
+ export default class MultiVariantRenderer extends FeatureRendererType {
6
+ supportsSVG = true;
8
7
  async render(renderProps) {
9
8
  const features = await this.getFeatures(renderProps);
10
- const { height, referenceDrawingMode, regions, bpPerPx } = renderProps;
9
+ const { height, referenceDrawingMode, regions, bpPerPx, scrollTop } = renderProps;
11
10
  const region = regions[0];
12
11
  const width = (region.end - region.start) / bpPerPx;
13
- const { makeImageData } = await import('./makeImageData');
12
+ const { makeImageData } = await import("./makeImageData.js");
14
13
  const ret = await renderToAbstractCanvas(width, height, renderProps, ctx => {
15
14
  if (referenceDrawingMode === 'skip') {
16
15
  ctx.fillStyle = '#ccc';
@@ -21,20 +20,12 @@ export default class MultiVariantBaseRenderer extends FeatureRendererType {
21
20
  features,
22
21
  });
23
22
  });
24
- const results = await super.render({
25
- ...renderProps,
26
- ...ret,
27
- features,
28
- height,
29
- width,
30
- });
31
- return {
32
- ...results,
23
+ const serialized = {
33
24
  ...ret,
34
- features: new Map(),
35
25
  height,
36
26
  width,
37
- containsNoTransferables: true,
27
+ origScrollTop: scrollTop,
38
28
  };
29
+ return rpcResult(serialized, collectTransferables(ret));
39
30
  }
40
31
  }
@@ -1,7 +1,8 @@
1
- import type { Source } from '../../shared/types';
1
+ import type { Source } from '../../shared/types.ts';
2
2
  import type { Feature } from '@jbrowse/core/util';
3
3
  import type { Region } from '@jbrowse/core/util/types';
4
4
  interface Item {
5
+ name: string;
5
6
  genotype: string;
6
7
  featureId: string;
7
8
  bpLen: number;
@@ -13,6 +14,9 @@ interface MinimizedVariantRecord {
13
14
  description: string;
14
15
  length: number;
15
16
  }
17
+ interface MultiVariantDisplayModel {
18
+ setHoveredGenotype?: (genotype?: Record<string, unknown>) => void;
19
+ }
16
20
  declare const MultiVariantRendering: (props: {
17
21
  regions: Region[];
18
22
  features: Map<string, Feature>;
@@ -20,14 +24,11 @@ declare const MultiVariantRendering: (props: {
20
24
  width: number;
21
25
  height: number;
22
26
  sources: Source[];
23
- scrollTop: number;
27
+ origScrollTop: number;
24
28
  featureGenotypeMap: Record<string, MinimizedVariantRecord>;
25
29
  totalHeight: number;
26
30
  flatbush: any;
27
31
  items: Item[];
28
- displayModel: any;
29
- onMouseLeave?: (event: React.MouseEvent) => void;
30
- onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void;
31
- onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void;
32
+ displayModel: MultiVariantDisplayModel;
32
33
  }) => import("react/jsx-runtime").JSX.Element;
33
34
  export default MultiVariantRendering;
@@ -1,29 +1,28 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useMemo, useRef } from 'react';
2
+ import { useCallback, useMemo, useRef } from 'react';
3
3
  import { PrerenderedCanvas } from '@jbrowse/core/ui';
4
4
  import { getBpDisplayStr } from '@jbrowse/core/util';
5
5
  import Flatbush from '@jbrowse/core/util/flatbush';
6
6
  import { observer } from 'mobx-react';
7
- import { minElt } from './util';
8
- import { makeSimpleAltString } from '../../VcfFeature/util';
9
- const MultiVariantRendering = observer(function (props) {
10
- const { flatbush, items, displayModel, featureGenotypeMap, totalHeight, scrollTop, } = props;
7
+ import { minElt } from "./util.js";
8
+ import { makeSimpleAltString } from "../../VcfFeature/util.js";
9
+ const MultiVariantRendering = observer(function MultiVariantRendering(props) {
10
+ const { flatbush, items, displayModel, featureGenotypeMap, totalHeight, origScrollTop, } = props;
11
11
  const ref = useRef(null);
12
+ const lastHoveredRef = useRef(undefined);
12
13
  const flatbush2 = useMemo(() => Flatbush.from(flatbush), [flatbush]);
13
- function getFeatureUnderMouse(eventClientX, eventClientY) {
14
- var _a;
15
- let offsetX = 0;
16
- let offsetY = 0;
14
+ const getFeatureUnderMouse = useCallback((eventClientX, eventClientY) => {
17
15
  if (!ref.current) {
18
16
  return;
19
17
  }
20
18
  const rect = ref.current.getBoundingClientRect();
21
- offsetX = eventClientX - rect.left;
22
- offsetY = eventClientY - rect.top - ((displayModel === null || displayModel === void 0 ? void 0 : displayModel.scrollTop) || 0);
23
- const x = flatbush2.search(offsetX, offsetY, offsetX + 1, offsetY + 1);
19
+ const offsetX = eventClientX - rect.left;
20
+ const offsetY = eventClientY - rect.top;
21
+ const canvasOffsetY = offsetY - origScrollTop;
22
+ const x = flatbush2.search(offsetX, canvasOffsetY, offsetX + 1, canvasOffsetY + 1);
24
23
  if (x.length) {
25
- const res = minElt(x, idx => { var _a, _b; return (_b = (_a = items[idx]) === null || _a === void 0 ? void 0 : _a.bpLen) !== null && _b !== void 0 ? _b : 0; });
26
- const { bpLen, genotype, featureId, ...rest } = (_a = items[res]) !== null && _a !== void 0 ? _a : {};
24
+ const res = minElt(x, idx => items[idx]?.bpLen ?? 0);
25
+ const { bpLen, genotype, featureId, ...rest } = items[res] ?? {};
27
26
  const ret = featureId !== undefined ? featureGenotypeMap[featureId] : undefined;
28
27
  if (ret && genotype) {
29
28
  const { ref, alt, name, description, length } = ret;
@@ -39,24 +38,29 @@ const MultiVariantRendering = observer(function (props) {
39
38
  }
40
39
  }
41
40
  return undefined;
42
- }
43
- return (_jsx("div", { ref: ref, onMouseMove: e => {
44
- var _a;
45
- return (_a = displayModel.setHoveredGenotype) === null || _a === void 0 ? void 0 : _a.call(displayModel, getFeatureUnderMouse(e.clientX, e.clientY));
46
- }, onMouseLeave: () => {
47
- var _a;
48
- (_a = displayModel.setHoveredGenotype) === null || _a === void 0 ? void 0 : _a.call(displayModel, undefined);
49
- }, onMouseOut: () => {
50
- var _a;
51
- (_a = displayModel.setHoveredGenotype) === null || _a === void 0 ? void 0 : _a.call(displayModel, undefined);
52
- }, style: {
41
+ }, [flatbush2, items, featureGenotypeMap, origScrollTop]);
42
+ const handleMouseMove = useCallback((e) => {
43
+ const result = getFeatureUnderMouse(e.clientX, e.clientY);
44
+ const key = result ? `${result.name}:${result.genotype}` : undefined;
45
+ if (key !== lastHoveredRef.current) {
46
+ lastHoveredRef.current = key;
47
+ displayModel.setHoveredGenotype?.(result);
48
+ }
49
+ }, [getFeatureUnderMouse, displayModel]);
50
+ const handleMouseLeave = useCallback(() => {
51
+ if (lastHoveredRef.current !== undefined) {
52
+ lastHoveredRef.current = undefined;
53
+ displayModel.setHoveredGenotype?.(undefined);
54
+ }
55
+ }, [displayModel]);
56
+ return (_jsx("div", { ref: ref, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, onMouseOut: handleMouseLeave, style: {
53
57
  overflow: 'visible',
54
58
  position: 'relative',
55
59
  height: totalHeight,
56
60
  }, children: _jsx(PrerenderedCanvas, { ...props, style: {
57
61
  position: 'absolute',
58
62
  left: 0,
59
- top: scrollTop,
63
+ top: origScrollTop,
60
64
  } }) }));
61
65
  });
62
66
  export default MultiVariantRendering;
@@ -1,2 +1,2 @@
1
- declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
1
+ declare const configSchema: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{}, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
2
2
  export default configSchema;
@@ -1,11 +1,11 @@
1
- import MultiVariantRenderer from './MultiVariantRenderer';
2
- import ReactComponent from './components/MultiLinearVariantRendering';
3
- import configSchema from './configSchema';
1
+ import { lazy } from 'react';
2
+ import MultiVariantRenderer from "./MultiVariantRenderer.js";
3
+ import configSchema from "./configSchema.js";
4
4
  export default function MultiVariantRendererF(pluginManager) {
5
5
  pluginManager.addRendererType(() => {
6
6
  return new MultiVariantRenderer({
7
7
  name: 'MultiVariantRenderer',
8
- ReactComponent,
8
+ ReactComponent: lazy(() => import("./components/MultiLinearVariantRendering.js")),
9
9
  configSchema,
10
10
  pluginManager,
11
11
  });
@@ -1,14 +1,17 @@
1
- import type { MultiRenderArgsDeserialized } from './types';
1
+ import type { MultiRenderArgsDeserialized } from './types.ts';
2
2
  export declare function makeImageData(ctx: CanvasRenderingContext2D, props: MultiRenderArgsDeserialized): Promise<{
3
3
  flatbush: ArrayBufferLike;
4
- items: any[];
5
- featureGenotypeMap: {
6
- [k: string]: {
7
- alt: any;
8
- ref: any;
9
- name: any;
10
- description: any;
11
- length: number;
12
- };
13
- };
4
+ items: {
5
+ name: string;
6
+ genotype: string;
7
+ featureId: string;
8
+ bpLen: number;
9
+ }[];
10
+ featureGenotypeMap: Record<string, {
11
+ alt: unknown;
12
+ ref: unknown;
13
+ name: unknown;
14
+ description: unknown;
15
+ length: number;
16
+ }>;
14
17
  }>;