@jbrowse/plugin-variants 2.17.0 → 3.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 (365) 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 +10 -28
  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 +13 -43
  12. package/dist/LinearVariantDisplay/model.js +1 -17
  13. package/dist/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  14. package/dist/MultiLinearVariantDisplay/components/Crosshair.js +35 -0
  15. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +5 -0
  16. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +29 -0
  17. package/dist/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  18. package/dist/MultiLinearVariantDisplay/configSchema.js +30 -0
  19. package/dist/MultiLinearVariantDisplay/index.d.ts +2 -0
  20. package/dist/MultiLinearVariantDisplay/index.js +57 -0
  21. package/dist/MultiLinearVariantDisplay/model.d.ts +351 -0
  22. package/dist/MultiLinearVariantDisplay/model.js +83 -0
  23. package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +3 -0
  24. package/dist/MultiLinearVariantDisplay/renderSvg.js +15 -0
  25. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  26. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.js +28 -0
  27. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +6 -0
  28. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +39 -0
  29. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +5 -0
  30. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +31 -0
  31. package/dist/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  32. package/dist/MultiLinearVariantMatrixDisplay/configSchema.js +22 -0
  33. package/dist/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  34. package/dist/MultiLinearVariantMatrixDisplay/index.js +24 -0
  35. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +356 -0
  36. package/dist/MultiLinearVariantMatrixDisplay/model.js +113 -0
  37. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +3 -0
  38. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +17 -0
  39. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +34 -0
  40. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +87 -0
  41. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +7 -0
  42. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +38 -0
  43. package/dist/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  44. package/dist/MultiLinearVariantMatrixRenderer/configSchema.js +6 -0
  45. package/dist/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  46. package/dist/MultiLinearVariantMatrixRenderer/index.js +20 -0
  47. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  48. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.js +100 -0
  49. package/dist/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  50. package/dist/MultiLinearVariantMatrixRenderer/types.js +2 -0
  51. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +31 -0
  52. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +73 -0
  53. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +22 -0
  54. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.js +52 -0
  55. package/dist/MultiLinearVariantRenderer/configSchema.d.ts +2 -0
  56. package/dist/MultiLinearVariantRenderer/configSchema.js +8 -0
  57. package/dist/MultiLinearVariantRenderer/index.d.ts +2 -0
  58. package/dist/MultiLinearVariantRenderer/index.js +19 -0
  59. package/dist/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  60. package/dist/MultiLinearVariantRenderer/makeImageData.js +67 -0
  61. package/dist/MultiLinearVariantRenderer/types.d.ts +19 -0
  62. package/dist/MultiLinearVariantRenderer/types.js +2 -0
  63. package/dist/MultiVariantBaseRenderer.d.ts +46 -0
  64. package/dist/MultiVariantBaseRenderer.js +39 -0
  65. package/dist/StructuralVariantChordRenderer/Chord.d.ts +4 -21
  66. package/dist/StructuralVariantChordRenderer/Chord.js +8 -34
  67. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +4 -5
  68. package/dist/StructuralVariantChordRenderer/ReactComponent.js +7 -30
  69. package/dist/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  70. package/dist/StructuralVariantChordRenderer/configSchema.js +1 -13
  71. package/dist/StructuralVariantChordRenderer/index.d.ts +1 -1
  72. package/dist/StructuralVariantChordRenderer/index.js +1 -1
  73. package/dist/StructuralVariantChordRenderer/types.d.ts +17 -0
  74. package/dist/StructuralVariantChordRenderer/types.js +2 -0
  75. package/dist/Tooltip.d.ts +19 -0
  76. package/dist/Tooltip.js +32 -0
  77. package/dist/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  78. package/dist/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  79. package/dist/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  80. package/dist/VariantFeatureWidget/Checkbox2.js +2 -5
  81. package/dist/VariantFeatureWidget/LaunchBreakendPanel.d.ts +4 -5
  82. package/dist/VariantFeatureWidget/LaunchBreakendPanel.js +73 -80
  83. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  84. package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.js +60 -0
  85. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  86. package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.js +15 -0
  87. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  88. package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +20 -0
  89. package/dist/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  90. package/dist/VariantFeatureWidget/VariantConsequencePanel.js +15 -0
  91. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +2 -3
  92. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +50 -41
  93. package/dist/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  94. package/dist/VariantFeatureWidget/VariantSampleFilters.js +10 -0
  95. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +10 -8
  96. package/dist/VariantFeatureWidget/VariantSampleGrid.js +17 -51
  97. package/dist/VariantFeatureWidget/index.d.ts +1 -1
  98. package/dist/VariantFeatureWidget/index.js +18 -8
  99. package/dist/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
  100. package/dist/VariantFeatureWidget/stateModelFactory.js +1 -1
  101. package/dist/VariantFeatureWidget/types.d.ts +16 -0
  102. package/dist/VariantFeatureWidget/types.js +2 -0
  103. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  104. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +50 -0
  105. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +26 -0
  106. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +53 -0
  107. package/dist/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  108. package/dist/VariantRPC/MultiVariantGetSources.js +22 -0
  109. package/dist/VariantTrack/configSchema.d.ts +2 -3
  110. package/dist/VariantTrack/configSchema.js +6 -13
  111. package/dist/VariantTrack/index.d.ts +1 -1
  112. package/dist/VcfAdapter/VcfAdapter.d.ts +10 -2
  113. package/dist/VcfAdapter/VcfAdapter.js +32 -8
  114. package/dist/VcfAdapter/configSchema.d.ts +8 -3
  115. package/dist/VcfAdapter/configSchema.js +13 -8
  116. package/dist/VcfAdapter/index.d.ts +1 -1
  117. package/dist/VcfAdapter/index.js +17 -7
  118. package/dist/VcfFeature/index.d.ts +5 -29
  119. package/dist/VcfFeature/index.js +36 -26
  120. package/dist/VcfFeature/util.d.ts +1 -4
  121. package/dist/VcfFeature/util.js +3 -16
  122. package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  123. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +44 -13
  124. package/dist/VcfTabixAdapter/configSchema.d.ts +8 -9
  125. package/dist/VcfTabixAdapter/configSchema.js +10 -14
  126. package/dist/VcfTabixAdapter/index.d.ts +1 -1
  127. package/dist/VcfTabixAdapter/index.js +17 -7
  128. package/dist/extensionPoints.d.ts +1 -1
  129. package/dist/extensionPoints.js +21 -33
  130. package/dist/getMultiVariantFeaturesAutorun.d.ts +16 -0
  131. package/dist/getMultiVariantFeaturesAutorun.js +41 -0
  132. package/dist/getMultiVariantSourcesAutorun.d.ts +11 -0
  133. package/dist/getMultiVariantSourcesAutorun.js +37 -0
  134. package/dist/index.d.ts +1 -1
  135. package/dist/index.js +18 -4
  136. package/dist/shared/BulkEditPanel.d.ts +5 -0
  137. package/dist/shared/BulkEditPanel.js +84 -0
  138. package/dist/shared/ClusterDialog.d.ts +11 -0
  139. package/dist/shared/ClusterDialog.js +109 -0
  140. package/dist/shared/ColorLegend.d.ts +10 -0
  141. package/dist/shared/ColorLegend.js +22 -0
  142. package/dist/shared/HelpfulTips.d.ts +1 -0
  143. package/dist/shared/HelpfulTips.js +7 -0
  144. package/dist/shared/LegendBar.d.ts +18 -0
  145. package/dist/shared/LegendBar.js +32 -0
  146. package/dist/shared/MAFFilterDialog.d.ts +8 -0
  147. package/dist/shared/MAFFilterDialog.js +28 -0
  148. package/dist/shared/MultiVariantBaseModel.d.ts +341 -0
  149. package/dist/shared/MultiVariantBaseModel.js +316 -0
  150. package/dist/shared/MultiVariantTooltip.d.ts +6 -0
  151. package/dist/shared/MultiVariantTooltip.js +23 -0
  152. package/dist/shared/RectBg.d.ts +8 -0
  153. package/dist/shared/RectBg.js +8 -0
  154. package/dist/shared/RowPalettizer.d.ts +5 -0
  155. package/dist/shared/RowPalettizer.js +40 -0
  156. package/dist/shared/SetColorDialog.d.ts +11 -0
  157. package/dist/shared/SetColorDialog.js +55 -0
  158. package/dist/shared/SetMinMaxDialog.d.ts +10 -0
  159. package/dist/shared/SetMinMaxDialog.js +26 -0
  160. package/dist/shared/SetRowHeightDialog.d.ts +8 -0
  161. package/dist/shared/SetRowHeightDialog.js +18 -0
  162. package/dist/shared/SharedVariantConfigSchema.d.ts +66 -0
  163. package/dist/shared/SharedVariantConfigSchema.js +56 -0
  164. package/dist/shared/SharedVariantMixin.d.ts +309 -0
  165. package/dist/shared/SharedVariantMixin.js +58 -0
  166. package/dist/shared/SourcesDataGrid.d.ts +6 -0
  167. package/dist/shared/SourcesDataGrid.js +68 -0
  168. package/dist/shared/SourcesGrid.d.ts +7 -0
  169. package/dist/shared/SourcesGrid.js +14 -0
  170. package/dist/shared/SourcesGridHeader.d.ts +7 -0
  171. package/dist/shared/SourcesGridHeader.js +41 -0
  172. package/dist/shared/multiVariantColor.d.ts +3 -0
  173. package/dist/shared/multiVariantColor.js +50 -0
  174. package/dist/shared/util.d.ts +10 -0
  175. package/dist/shared/util.js +32 -0
  176. package/dist/types.d.ts +14 -0
  177. package/dist/types.js +2 -0
  178. package/dist/util.d.ts +8 -0
  179. package/dist/util.js +86 -0
  180. package/esm/ChordVariantDisplay/index.d.ts +1 -1
  181. package/esm/ChordVariantDisplay/index.js +1 -2
  182. package/esm/ChordVariantDisplay/models/configSchema.d.ts +1 -4
  183. package/esm/ChordVariantDisplay/models/configSchema.js +1 -10
  184. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +10 -28
  185. package/esm/ChordVariantDisplay/models/stateModelFactory.js +3 -24
  186. package/esm/LinearVariantDisplay/configSchema.d.ts +2 -2
  187. package/esm/LinearVariantDisplay/configSchema.js +1 -10
  188. package/esm/LinearVariantDisplay/index.d.ts +1 -1
  189. package/esm/LinearVariantDisplay/index.js +2 -2
  190. package/esm/LinearVariantDisplay/model.d.ts +13 -43
  191. package/esm/LinearVariantDisplay/model.js +2 -18
  192. package/esm/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
  193. package/esm/MultiLinearVariantDisplay/components/Crosshair.js +30 -0
  194. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +5 -0
  195. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +24 -0
  196. package/esm/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  197. package/esm/MultiLinearVariantDisplay/configSchema.js +24 -0
  198. package/esm/MultiLinearVariantDisplay/index.d.ts +2 -0
  199. package/esm/MultiLinearVariantDisplay/index.js +18 -0
  200. package/esm/MultiLinearVariantDisplay/model.d.ts +351 -0
  201. package/esm/MultiLinearVariantDisplay/model.js +44 -0
  202. package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +3 -0
  203. package/esm/MultiLinearVariantDisplay/renderSvg.js +9 -0
  204. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
  205. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.js +23 -0
  206. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +6 -0
  207. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +37 -0
  208. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +5 -0
  209. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +26 -0
  210. package/esm/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  211. package/esm/MultiLinearVariantMatrixDisplay/configSchema.js +16 -0
  212. package/esm/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  213. package/esm/MultiLinearVariantMatrixDisplay/index.js +18 -0
  214. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +356 -0
  215. package/esm/MultiLinearVariantMatrixDisplay/model.js +74 -0
  216. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +3 -0
  217. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +11 -0
  218. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +34 -0
  219. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +48 -0
  220. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +7 -0
  221. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +36 -0
  222. package/esm/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  223. package/esm/MultiLinearVariantMatrixRenderer/configSchema.js +4 -0
  224. package/esm/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  225. package/esm/MultiLinearVariantMatrixRenderer/index.js +14 -0
  226. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
  227. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.js +97 -0
  228. package/esm/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
  229. package/esm/MultiLinearVariantMatrixRenderer/types.js +1 -0
  230. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +31 -0
  231. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +34 -0
  232. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +22 -0
  233. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +47 -0
  234. package/esm/MultiLinearVariantRenderer/configSchema.d.ts +2 -0
  235. package/esm/MultiLinearVariantRenderer/configSchema.js +6 -0
  236. package/esm/MultiLinearVariantRenderer/index.d.ts +2 -0
  237. package/esm/MultiLinearVariantRenderer/index.js +13 -0
  238. package/esm/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
  239. package/esm/MultiLinearVariantRenderer/makeImageData.js +61 -0
  240. package/esm/MultiLinearVariantRenderer/types.d.ts +19 -0
  241. package/esm/MultiLinearVariantRenderer/types.js +1 -0
  242. package/esm/MultiVariantBaseRenderer.d.ts +46 -0
  243. package/esm/MultiVariantBaseRenderer.js +33 -0
  244. package/esm/StructuralVariantChordRenderer/Chord.d.ts +4 -21
  245. package/esm/StructuralVariantChordRenderer/Chord.js +8 -11
  246. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +4 -5
  247. package/esm/StructuralVariantChordRenderer/ReactComponent.js +7 -7
  248. package/esm/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  249. package/esm/StructuralVariantChordRenderer/configSchema.js +1 -13
  250. package/esm/StructuralVariantChordRenderer/index.d.ts +1 -1
  251. package/esm/StructuralVariantChordRenderer/index.js +1 -1
  252. package/esm/StructuralVariantChordRenderer/types.d.ts +17 -0
  253. package/esm/StructuralVariantChordRenderer/types.js +1 -0
  254. package/esm/Tooltip.d.ts +19 -0
  255. package/esm/Tooltip.js +27 -0
  256. package/esm/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  257. package/esm/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  258. package/esm/VariantFeatureWidget/Checkbox2.d.ts +1 -2
  259. package/esm/VariantFeatureWidget/Checkbox2.js +2 -2
  260. package/esm/VariantFeatureWidget/LaunchBreakendPanel.d.ts +4 -5
  261. package/esm/VariantFeatureWidget/LaunchBreakendPanel.js +55 -72
  262. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
  263. package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.js +24 -0
  264. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
  265. package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.js +9 -0
  266. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
  267. package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +17 -0
  268. package/esm/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
  269. package/esm/VariantFeatureWidget/VariantConsequencePanel.js +9 -0
  270. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +2 -3
  271. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +33 -34
  272. package/esm/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
  273. package/esm/VariantFeatureWidget/VariantSampleFilters.js +7 -0
  274. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +10 -8
  275. package/esm/VariantFeatureWidget/VariantSampleGrid.js +18 -29
  276. package/esm/VariantFeatureWidget/index.d.ts +1 -1
  277. package/esm/VariantFeatureWidget/index.js +1 -1
  278. package/esm/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
  279. package/esm/VariantFeatureWidget/stateModelFactory.js +1 -1
  280. package/esm/VariantFeatureWidget/types.d.ts +16 -0
  281. package/esm/VariantFeatureWidget/types.js +1 -0
  282. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  283. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +43 -0
  284. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +26 -0
  285. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +46 -0
  286. package/esm/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  287. package/esm/VariantRPC/MultiVariantGetSources.js +15 -0
  288. package/esm/VariantTrack/configSchema.d.ts +2 -3
  289. package/esm/VariantTrack/configSchema.js +5 -13
  290. package/esm/VariantTrack/index.d.ts +1 -1
  291. package/esm/VcfAdapter/VcfAdapter.d.ts +10 -2
  292. package/esm/VcfAdapter/VcfAdapter.js +34 -10
  293. package/esm/VcfAdapter/configSchema.d.ts +8 -3
  294. package/esm/VcfAdapter/configSchema.js +13 -8
  295. package/esm/VcfAdapter/index.d.ts +1 -1
  296. package/esm/VcfFeature/index.d.ts +5 -29
  297. package/esm/VcfFeature/index.js +36 -26
  298. package/esm/VcfFeature/util.d.ts +1 -4
  299. package/esm/VcfFeature/util.js +3 -16
  300. package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  301. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +45 -14
  302. package/esm/VcfTabixAdapter/configSchema.d.ts +8 -9
  303. package/esm/VcfTabixAdapter/configSchema.js +10 -14
  304. package/esm/VcfTabixAdapter/index.d.ts +1 -1
  305. package/esm/extensionPoints.d.ts +1 -1
  306. package/esm/extensionPoints.js +22 -34
  307. package/esm/getMultiVariantFeaturesAutorun.d.ts +16 -0
  308. package/esm/getMultiVariantFeaturesAutorun.js +38 -0
  309. package/esm/getMultiVariantSourcesAutorun.d.ts +11 -0
  310. package/esm/getMultiVariantSourcesAutorun.js +34 -0
  311. package/esm/index.d.ts +1 -1
  312. package/esm/index.js +18 -4
  313. package/esm/shared/BulkEditPanel.d.ts +5 -0
  314. package/esm/shared/BulkEditPanel.js +81 -0
  315. package/esm/shared/ClusterDialog.d.ts +11 -0
  316. package/esm/shared/ClusterDialog.js +103 -0
  317. package/esm/shared/ColorLegend.d.ts +10 -0
  318. package/esm/shared/ColorLegend.js +17 -0
  319. package/esm/shared/HelpfulTips.d.ts +1 -0
  320. package/esm/shared/HelpfulTips.js +4 -0
  321. package/esm/shared/LegendBar.d.ts +18 -0
  322. package/esm/shared/LegendBar.js +26 -0
  323. package/esm/shared/MAFFilterDialog.d.ts +8 -0
  324. package/esm/shared/MAFFilterDialog.js +26 -0
  325. package/esm/shared/MultiVariantBaseModel.d.ts +341 -0
  326. package/esm/shared/MultiVariantBaseModel.js +277 -0
  327. package/esm/shared/MultiVariantTooltip.d.ts +6 -0
  328. package/esm/shared/MultiVariantTooltip.js +17 -0
  329. package/esm/shared/RectBg.d.ts +8 -0
  330. package/esm/shared/RectBg.js +6 -0
  331. package/esm/shared/RowPalettizer.d.ts +5 -0
  332. package/esm/shared/RowPalettizer.js +37 -0
  333. package/esm/shared/SetColorDialog.d.ts +11 -0
  334. package/esm/shared/SetColorDialog.js +49 -0
  335. package/esm/shared/SetMinMaxDialog.d.ts +10 -0
  336. package/esm/shared/SetMinMaxDialog.js +23 -0
  337. package/esm/shared/SetRowHeightDialog.d.ts +8 -0
  338. package/esm/shared/SetRowHeightDialog.js +15 -0
  339. package/esm/shared/SharedVariantConfigSchema.d.ts +66 -0
  340. package/esm/shared/SharedVariantConfigSchema.js +53 -0
  341. package/esm/shared/SharedVariantMixin.d.ts +309 -0
  342. package/esm/shared/SharedVariantMixin.js +55 -0
  343. package/esm/shared/SourcesDataGrid.d.ts +6 -0
  344. package/esm/shared/SourcesDataGrid.js +62 -0
  345. package/esm/shared/SourcesGrid.d.ts +7 -0
  346. package/esm/shared/SourcesGrid.js +9 -0
  347. package/esm/shared/SourcesGridHeader.d.ts +7 -0
  348. package/esm/shared/SourcesGridHeader.js +35 -0
  349. package/esm/shared/multiVariantColor.d.ts +3 -0
  350. package/esm/shared/multiVariantColor.js +45 -0
  351. package/esm/shared/util.d.ts +10 -0
  352. package/esm/shared/util.js +28 -0
  353. package/esm/types.d.ts +14 -0
  354. package/esm/types.js +1 -0
  355. package/esm/util.d.ts +8 -0
  356. package/esm/util.js +77 -0
  357. package/package.json +7 -8
  358. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  359. package/dist/VariantFeatureWidget/AnnotGrid.js +0 -39
  360. package/dist/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  361. package/dist/VariantFeatureWidget/VariantAnnotationTable.js +0 -16
  362. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
  363. package/esm/VariantFeatureWidget/AnnotGrid.js +0 -13
  364. package/esm/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
  365. package/esm/VariantFeatureWidget/VariantAnnotationTable.js +0 -10
@@ -0,0 +1,15 @@
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 = VariantConsequenceDataGrid;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
9
+ const VariantConsequenceDataGridWrapper_1 = __importDefault(require("./VariantConsequenceDataGridWrapper"));
10
+ function VariantConsequenceDataGrid({ data, fields, title, }) {
11
+ return data.length ? ((0, jsx_runtime_1.jsx)(BaseCard_1.default, { title: title, children: (0, jsx_runtime_1.jsx)(VariantConsequenceDataGridWrapper_1.default, { rows: data.map((elt, id) => ({
12
+ id,
13
+ ...Object.fromEntries(elt.split('|').map((e, i) => [fields[i], e])),
14
+ })), columns: fields.map(c => ({ field: c })) }) })) : null;
15
+ }
@@ -0,0 +1,5 @@
1
+ import type { GridColDef, GridValidRowModel } from '@mui/x-data-grid';
2
+ export default function VariantConsequenceDataGridWrapper({ rows, columns, }: {
3
+ rows: GridValidRowModel[];
4
+ columns: GridColDef[];
5
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = VariantConsequenceDataGridWrapper;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const util_1 = require("@jbrowse/core/util");
7
+ const material_1 = require("@mui/material");
8
+ const x_data_grid_1 = require("@mui/x-data-grid");
9
+ function VariantConsequenceDataGridWrapper({ rows, columns, }) {
10
+ const [checked, setChecked] = (0, react_1.useState)(false);
11
+ const widths = columns.map(e => (0, util_1.measureGridWidth)(rows.map(r => r[e.field])));
12
+ return rows.length ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: checked, onChange: event => {
13
+ setChecked(event.target.checked);
14
+ } }), label: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", children: "Show options" }) }), (0, jsx_runtime_1.jsx)(x_data_grid_1.DataGrid, { rowHeight: 25, rows: rows, columns: columns.map((c, i) => ({
15
+ ...c,
16
+ width: widths[i],
17
+ })), slots: {
18
+ toolbar: checked ? x_data_grid_1.GridToolbar : null,
19
+ } })] })) : null;
20
+ }
@@ -0,0 +1,5 @@
1
+ export default function VariantConsequencePanel({ data, fields, title, }: {
2
+ data: string[];
3
+ fields: string[];
4
+ title: string;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,15 @@
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 = VariantConsequencePanel;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
9
+ const VariantConsequenceDataGridWrapper_1 = __importDefault(require("./VariantConsequenceDataGridWrapper"));
10
+ function VariantConsequencePanel({ data, fields, title, }) {
11
+ return data.length ? ((0, jsx_runtime_1.jsx)(BaseCard_1.default, { title: title, children: (0, jsx_runtime_1.jsx)(VariantConsequenceDataGridWrapper_1.default, { rows: data.map((elt, id) => ({
12
+ id,
13
+ ...Object.fromEntries(elt.split('|').map((e, i) => [fields[i], e])),
14
+ })), columns: fields.map(c => ({ field: c })) }) })) : null;
15
+ }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { VariantFeatureWidgetModel } from './stateModelFactory';
1
+ import type { VariantFeatureWidgetModel } from './stateModelFactory';
3
2
  declare const VariantFeatureWidget: (props: {
4
3
  model: VariantFeatureWidgetModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default VariantFeatureWidget;
@@ -15,70 +15,79 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
31
- const material_1 = require("@mui/material");
32
- const FeatureDetails_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails"));
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const react_1 = require("react");
33
41
  const vcf_1 = require("@gmod/vcf");
34
- // locals
42
+ const FeatureDetails_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails"));
43
+ const material_1 = require("@mui/material");
44
+ const mobx_react_1 = require("mobx-react");
35
45
  const VariantSampleGrid_1 = __importDefault(require("./VariantSampleGrid"));
36
- const VariantAnnotationTable_1 = __importDefault(require("./VariantAnnotationTable"));
37
46
  const variantFieldDescriptions_1 = require("./variantFieldDescriptions");
38
- // lazies
39
47
  const LaunchBreakendPanel = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./LaunchBreakendPanel'))));
48
+ const VariantConsequenceDataGrid = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./VariantConsequenceDataGrid'))));
40
49
  function AnnPanel({ descriptions, feature, }) {
41
50
  var _a, _b, _c, _d, _e;
42
51
  const annDesc = (_b = (_a = descriptions === null || descriptions === void 0 ? void 0 : descriptions.INFO) === null || _a === void 0 ? void 0 : _a.ANN) === null || _b === void 0 ? void 0 : _b.Description;
43
52
  const annFields = ((_d = (_c = annDesc === null || annDesc === void 0 ? void 0 : annDesc.match(/.*Functional annotations:'(.*)'$/)) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.split('|')) || [];
44
53
  const ann = ((_e = feature.INFO) === null || _e === void 0 ? void 0 : _e.ANN) || [];
45
- return (react_1.default.createElement(VariantAnnotationTable_1.default, { fields: annFields, data: ann, title: "Variant ANN field" }));
54
+ return ((0, jsx_runtime_1.jsx)(VariantConsequenceDataGrid, { fields: annFields, data: ann, title: "Variant ANN field" }));
46
55
  }
47
56
  function CsqPanel({ descriptions, feature, }) {
48
57
  var _a, _b, _c, _d, _e;
49
58
  const csqDescription = (_b = (_a = descriptions === null || descriptions === void 0 ? void 0 : descriptions.INFO) === null || _a === void 0 ? void 0 : _a.CSQ) === null || _b === void 0 ? void 0 : _b.Description;
50
59
  const csqFields = ((_d = (_c = csqDescription === null || csqDescription === void 0 ? void 0 : csqDescription.match(/.*Format: (.*)/)) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.split('|')) || [];
51
60
  const csq = ((_e = feature.INFO) === null || _e === void 0 ? void 0 : _e.CSQ) || [];
52
- return (react_1.default.createElement(VariantAnnotationTable_1.default, { fields: csqFields, data: csq, title: "Variant CSQ field" }));
61
+ return ((0, jsx_runtime_1.jsx)(VariantConsequenceDataGrid, { fields: csqFields, data: csq, title: "Variant CSQ field" }));
62
+ }
63
+ function LaunchBreakendWidgetArea({ model, }) {
64
+ const { featureData } = model;
65
+ const feat = JSON.parse(JSON.stringify(featureData));
66
+ const { type = '' } = feat;
67
+ return type === 'breakend' ? ((0, jsx_runtime_1.jsx)(LaunchBreakendPanel, { feature: feat, locStrings: feat.ALT.map((alt) => { var _a; return ((_a = (0, vcf_1.parseBreakend)(alt)) === null || _a === void 0 ? void 0 : _a.MatePosition) || ''; }), model: model })) : type === 'translocation' ? ((0, jsx_runtime_1.jsx)(LaunchBreakendPanel, { feature: feat, model: model, locStrings: [`${feat.INFO.CHR2[0]}:${feat.INFO.END}`] })) : type === 'paired_feature' ? ((0, jsx_runtime_1.jsx)(LaunchBreakendPanel, { feature: feat, model: model, locStrings: [`${feat.mate.refName}:${feat.mate.start}`] })) : type.includes('inversion') ||
68
+ type.includes('deletion') ||
69
+ type.includes('duplication') ||
70
+ type.includes('cnv') ||
71
+ type.includes('sv') ? ((0, jsx_runtime_1.jsx)(LaunchBreakendPanel, { feature: {
72
+ uniqueId: 'random',
73
+ refName: feat.refName,
74
+ start: feat.start,
75
+ end: feat.start + 1,
76
+ mate: {
77
+ refName: feat.refName,
78
+ start: feat.end,
79
+ end: feat.end + 1,
80
+ },
81
+ }, model: model, locStrings: [`${feat.refName}:${feat.end}`] })) : null;
53
82
  }
54
83
  const VariantFeatureWidget = (0, mobx_react_1.observer)(function (props) {
55
84
  const { model } = props;
56
85
  const { featureData, descriptions } = model;
57
86
  const feat = JSON.parse(JSON.stringify(featureData));
58
- const { samples, ALT, type = '', ...rest } = feat;
59
- return (react_1.default.createElement(material_1.Paper, { "data-testid": "variant-side-drawer" },
60
- react_1.default.createElement(FeatureDetails_1.default, { feature: rest, descriptions: { ...variantFieldDescriptions_1.variantFieldDescriptions, ...descriptions }, ...props }),
61
- react_1.default.createElement(CsqPanel, { feature: rest, descriptions: descriptions }),
62
- react_1.default.createElement(AnnPanel, { feature: rest, descriptions: descriptions }),
63
- react_1.default.createElement(react_1.Suspense, { fallback: null },
64
- type === 'breakend' ? (react_1.default.createElement(LaunchBreakendPanel, { feature: feat, locStrings: feat.ALT.map((alt) => { var _a; return ((_a = (0, vcf_1.parseBreakend)(alt)) === null || _a === void 0 ? void 0 : _a.MatePosition) || ''; }), model: model })) : null,
65
- type === 'translocation' ? (react_1.default.createElement(LaunchBreakendPanel, { feature: feat, model: model, locStrings: [`${feat.INFO.CHR2[0]}:${feat.INFO.END}`] })) : null,
66
- type === 'paired_feature' ? (react_1.default.createElement(LaunchBreakendPanel, { feature: feat, model: model, locStrings: [`${feat.mate.refName}:${feat.mate.start}`] })) : null,
67
- type.includes('inversion') ||
68
- type.includes('deletion') ||
69
- type.includes('duplication') ||
70
- type.includes('cnv') ||
71
- type.includes('sv') ? (react_1.default.createElement(LaunchBreakendPanel, { feature: {
72
- uniqueId: 'random',
73
- refName: feat.refName,
74
- start: feat.start,
75
- end: feat.start + 1,
76
- mate: {
77
- refName: feat.refName,
78
- start: feat.end,
79
- end: feat.end + 1,
80
- },
81
- }, model: model, locStrings: [`${feat.refName}:${feat.end}`] })) : null),
82
- react_1.default.createElement(VariantSampleGrid_1.default, { feature: feat, ...props, descriptions: descriptions })));
87
+ const { samples, ALT, ...rest } = feat;
88
+ return ((0, jsx_runtime_1.jsxs)(material_1.Paper, { "data-testid": "variant-side-drawer", children: [(0, jsx_runtime_1.jsx)(FeatureDetails_1.default, { feature: rest, descriptions: {
89
+ ...variantFieldDescriptions_1.variantFieldDescriptions,
90
+ ...descriptions,
91
+ }, ...props }), (0, jsx_runtime_1.jsxs)(react_1.Suspense, { fallback: null, children: [(0, jsx_runtime_1.jsx)(CsqPanel, { feature: rest, descriptions: descriptions }), (0, jsx_runtime_1.jsx)(AnnPanel, { feature: rest, descriptions: descriptions }), (0, jsx_runtime_1.jsx)(LaunchBreakendWidgetArea, { model: model })] }), (0, jsx_runtime_1.jsx)(VariantSampleGrid_1.default, { feature: feat, ...props, descriptions: descriptions })] }));
83
92
  });
84
93
  exports.default = VariantFeatureWidget;
@@ -0,0 +1,9 @@
1
+ type Filters = Record<string, string>;
2
+ export default function SampleFilters({ columns, filter, setFilter, }: {
3
+ columns: {
4
+ field: string;
5
+ }[];
6
+ filter: Filters;
7
+ setFilter: (arg: Filters) => void;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = SampleFilters;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const material_1 = require("@mui/material");
6
+ function SampleFilters({ columns, filter, setFilter, }) {
7
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { children: "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33" }), columns.map(({ field }) => ((0, jsx_runtime_1.jsx)(material_1.TextField, { placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => {
8
+ setFilter({ ...filter, [field]: event.target.value });
9
+ } }, `filter-${field}`)))] }));
10
+ }
@@ -1,10 +1,12 @@
1
- import React from 'react';
2
- import { SimpleFeatureSerialized } from '@jbrowse/core/util';
1
+ import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
2
+ interface FormatRecord {
3
+ Description?: string;
4
+ }
5
+ interface Descriptions {
6
+ FORMAT?: Record<string, FormatRecord>;
7
+ }
3
8
  export default function VariantSamples(props: {
4
9
  feature: SimpleFeatureSerialized;
5
- descriptions?: {
6
- FORMAT?: Record<string, {
7
- Description?: string;
8
- }>;
9
- } | null;
10
- }): React.JSX.Element | null;
10
+ descriptions?: Descriptions | null;
11
+ }): import("react/jsx-runtime").JSX.Element | null;
12
+ export {};
@@ -1,44 +1,16 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
6
  exports.default = VariantSamples;
30
- const react_1 = __importStar(require("react"));
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
10
+ const util_1 = require("@jbrowse/core/util");
31
11
  const material_1 = require("@mui/material");
32
12
  const x_data_grid_1 = require("@mui/x-data-grid");
33
- const util_1 = require("@jbrowse/core/util");
34
- const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
35
- function SampleFilters({ columns, filter, setFilter, }) {
36
- return (react_1.default.createElement(react_1.default.Fragment, null,
37
- react_1.default.createElement(material_1.Typography, null, "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33"),
38
- columns.map(({ field }) => (react_1.default.createElement(material_1.TextField, { key: `filter-${field}`, placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => {
39
- setFilter({ ...filter, [field]: event.target.value });
40
- } })))));
41
- }
13
+ const VariantSampleFilters_1 = __importDefault(require("./VariantSampleFilters"));
42
14
  function VariantSamples(props) {
43
15
  var _a;
44
16
  const { feature, descriptions = {} } = props;
@@ -48,9 +20,6 @@ function VariantSamples(props) {
48
20
  let error;
49
21
  let rows = [];
50
22
  const filters = Object.keys(filter);
51
- // catch some error thrown from regex
52
- // note: maps all values into a string, if this is not done rows are not
53
- // sortable by the data-grid
54
23
  try {
55
24
  rows = preFilteredRows
56
25
  .map(row => {
@@ -83,19 +52,16 @@ function VariantSamples(props) {
83
52
  width: widths[index],
84
53
  });
85
54
  });
86
- // disableRowSelectionOnClick helps avoid
87
- // https://github.com/mui-org/material-ui-x/issues/1197
88
- return !preFilteredRows.length ? null : (react_1.default.createElement(BaseCard_1.default, { ...props, title: "Samples" },
89
- error ? react_1.default.createElement(material_1.Typography, { color: "error" }, `${error}`) : null,
90
- react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Checkbox, { checked: checked, onChange: event => {
91
- setChecked(event.target.checked);
92
- } }), label: react_1.default.createElement(material_1.Typography, { variant: "body2" }, "Show options") }),
93
- checked ? (react_1.default.createElement(SampleFilters, { setFilter: setFilter, columns: columns, filter: filter })) : null,
94
- react_1.default.createElement(x_data_grid_1.DataGrid, { autoHeight: true, rows: rows, hideFooter: rows.length < 100, columns: columns, disableRowSelectionOnClick: true, rowHeight: 25, columnHeaderHeight: 35, disableColumnMenu: true, slots: { toolbar: checked ? x_data_grid_1.GridToolbar : null }, slotProps: {
95
- toolbar: {
96
- printOptions: {
97
- disableToolbarButton: true,
98
- },
99
- },
100
- } })));
55
+ return !preFilteredRows.length ? null : ((0, jsx_runtime_1.jsxs)(BaseCard_1.default, { ...props, title: "Samples", children: [error ? (0, jsx_runtime_1.jsx)(material_1.Typography, { color: "error", children: `${error}` }) : null, (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: checked, onChange: event => {
56
+ setChecked(event.target.checked);
57
+ } }), label: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", children: "Show options" }) }), checked ? ((0, jsx_runtime_1.jsx)(VariantSampleFilters_1.default, { setFilter: setFilter, columns: columns, filter: filter })) : null, (0, jsx_runtime_1.jsx)("div", { style: {
58
+ display: 'flex',
59
+ flexDirection: 'column',
60
+ }, children: (0, jsx_runtime_1.jsx)(x_data_grid_1.DataGrid, { rows: rows, hideFooter: rows.length < 100, columns: columns, disableRowSelectionOnClick: true, rowHeight: 25, columnHeaderHeight: 35, disableColumnMenu: true, slots: { toolbar: checked ? x_data_grid_1.GridToolbar : null }, slotProps: {
61
+ toolbar: {
62
+ printOptions: {
63
+ disableToolbarButton: true,
64
+ },
65
+ },
66
+ } }) })] }));
101
67
  }
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function VariantFeatureWidgetF(pluginManager: PluginManager): void;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -29,8 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
39
  exports.default = VariantFeatureWidgetF;
30
40
  const react_1 = require("react");
31
41
  const WidgetType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/WidgetType"));
32
- const stateModelFactory_1 = require("./stateModelFactory");
33
42
  const configSchema_1 = require("./configSchema");
43
+ const stateModelFactory_1 = require("./stateModelFactory");
34
44
  function VariantFeatureWidgetF(pluginManager) {
35
45
  pluginManager.addWidgetType(() => new WidgetType_1.default({
36
46
  name: 'VariantFeatureWidget',
@@ -1,5 +1,5 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- import { Instance } from 'mobx-state-tree';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ import type { Instance } from 'mobx-state-tree';
3
3
  export declare function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
4
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
5
  type: import("mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stateModelFactory = stateModelFactory;
4
- const mobx_state_tree_1 = require("mobx-state-tree");
5
4
  const BaseFeatureWidget_1 = require("@jbrowse/core/BaseFeatureWidget");
5
+ const mobx_state_tree_1 = require("mobx-state-tree");
6
6
  function stateModelFactory(pluginManager) {
7
7
  const baseModel = (0, BaseFeatureWidget_1.stateModelFactory)(pluginManager);
8
8
  return mobx_state_tree_1.types.compose(baseModel, mobx_state_tree_1.types.model('VariantFeatureWidget', {
@@ -0,0 +1,16 @@
1
+ export interface Descriptions {
2
+ INFO?: {
3
+ ANN?: {
4
+ Description?: string;
5
+ };
6
+ CSQ?: {
7
+ Description?: string;
8
+ };
9
+ };
10
+ }
11
+ export interface ReducedFeature {
12
+ INFO?: {
13
+ ANN?: string[];
14
+ CSQ?: string[];
15
+ };
16
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { Region } from '@jbrowse/core/util';
4
+ export declare class MultiVariantGetGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions {
5
+ name: string;
6
+ execute(args: {
7
+ adapterConfig: AnyConfigurationModel;
8
+ stopToken?: string;
9
+ sessionId: string;
10
+ headers?: Record<string, string>;
11
+ regions: Region[];
12
+ bpPerPx: number;
13
+ }, rpcDriverClassName: string): Promise<Record<string, {
14
+ name: string;
15
+ genotypes: number[];
16
+ }>>;
17
+ }
@@ -0,0 +1,50 @@
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.MultiVariantGetGenotypeMatrix = void 0;
7
+ const dataAdapterCache_1 = require("@jbrowse/core/data_adapters/dataAdapterCache");
8
+ const RpcMethodTypeWithFiltersAndRenameRegions_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions"));
9
+ const rxjs_1 = require("rxjs");
10
+ const util_1 = require("../util");
11
+ class MultiVariantGetGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions_1.default {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.name = 'MultiVariantGetGenotypeMatrix';
15
+ }
16
+ async execute(args, rpcDriverClassName) {
17
+ const pm = this.pluginManager;
18
+ const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
19
+ const { sources, minorAlleleFrequencyFilter, regions, adapterConfig, sessionId, } = deserializedArgs;
20
+ const adapter = await (0, dataAdapterCache_1.getAdapter)(pm, sessionId, adapterConfig);
21
+ const dataAdapter = adapter.dataAdapter;
22
+ const region = regions[0];
23
+ const feats = await (0, rxjs_1.firstValueFrom)(dataAdapter.getFeatures(region, deserializedArgs).pipe((0, rxjs_1.toArray)()));
24
+ const genotypeFactor = new Set();
25
+ const mafs = (0, util_1.getFeaturesThatPassMinorAlleleFrequencyFilter)(feats, minorAlleleFrequencyFilter);
26
+ for (const feat of feats) {
27
+ const samp = feat.get('genotypes');
28
+ for (const { name } of sources) {
29
+ const s = samp[name];
30
+ genotypeFactor.add(s);
31
+ }
32
+ }
33
+ const genotypeFactorMap = Object.fromEntries([...genotypeFactor].map((type, idx) => [type, idx]));
34
+ const rows = {};
35
+ for (const feat of mafs) {
36
+ const samp = feat.get('genotypes');
37
+ for (const { name } of sources) {
38
+ if (!rows[name]) {
39
+ rows[name] = {
40
+ name,
41
+ genotypes: [],
42
+ };
43
+ }
44
+ rows[name].genotypes.push(genotypeFactorMap[samp[name]]);
45
+ }
46
+ }
47
+ return rows;
48
+ }
49
+ }
50
+ exports.MultiVariantGetGenotypeMatrix = MultiVariantGetGenotypeMatrix;
@@ -0,0 +1,26 @@
1
+ import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
2
+ import type { SampleInfo } from '../types';
3
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
+ import type { Region } from '@jbrowse/core/util';
5
+ export declare class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenameRegions {
6
+ name: string;
7
+ execute(args: {
8
+ adapterConfig: AnyConfigurationModel;
9
+ stopToken?: string;
10
+ sessionId: string;
11
+ headers?: Record<string, string>;
12
+ regions: Region[];
13
+ bpPerPx: number;
14
+ }, rpcDriverClassName: string): Promise<{
15
+ hasPhased: boolean;
16
+ sampleInfo: Record<string, SampleInfo>;
17
+ features: {
18
+ id: string;
19
+ data: {
20
+ start: number;
21
+ end: number;
22
+ refName: string;
23
+ };
24
+ }[];
25
+ }>;
26
+ }
@@ -0,0 +1,53 @@
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.MultiVariantGetSimplifiedFeatures = void 0;
7
+ const dataAdapterCache_1 = require("@jbrowse/core/data_adapters/dataAdapterCache");
8
+ const RpcMethodTypeWithFiltersAndRenameRegions_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions"));
9
+ const rxjs_1 = require("rxjs");
10
+ const util_1 = require("../util");
11
+ class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenameRegions_1.default {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.name = 'MultiVariantGetSimplifiedFeatures';
15
+ }
16
+ async execute(args, rpcDriverClassName) {
17
+ var _a, _b;
18
+ const pm = this.pluginManager;
19
+ const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
20
+ const { minorAlleleFrequencyFilter, regions, adapterConfig, sessionId } = deserializedArgs;
21
+ const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(pm, sessionId, adapterConfig);
22
+ const feats = await (0, rxjs_1.firstValueFrom)(dataAdapter
23
+ .getFeaturesInMultipleRegions(regions, deserializedArgs)
24
+ .pipe((0, rxjs_1.toArray)()));
25
+ const features = (0, util_1.getFeaturesThatPassMinorAlleleFrequencyFilter)(feats, minorAlleleFrequencyFilter);
26
+ const sampleInfo = {};
27
+ let hasPhased = false;
28
+ for (const f of features) {
29
+ const samp = f.get('genotypes');
30
+ for (const [key, val] of Object.entries(samp)) {
31
+ const isPhased = val.includes('|');
32
+ hasPhased || (hasPhased = isPhased);
33
+ sampleInfo[key] = {
34
+ maxPloidy: Math.max(((_a = sampleInfo[key]) === null || _a === void 0 ? void 0 : _a.maxPloidy) || 0, val.split('|').length),
35
+ isPhased: ((_b = sampleInfo[key]) === null || _b === void 0 ? void 0 : _b.isPhased) || isPhased,
36
+ };
37
+ }
38
+ }
39
+ return {
40
+ hasPhased,
41
+ sampleInfo,
42
+ features: features.map(f => ({
43
+ id: f.id(),
44
+ data: {
45
+ start: f.get('start'),
46
+ end: f.get('end'),
47
+ refName: f.get('refName'),
48
+ },
49
+ })),
50
+ };
51
+ }
52
+ }
53
+ exports.MultiVariantGetSimplifiedFeatures = MultiVariantGetSimplifiedFeatures;
@@ -0,0 +1,14 @@
1
+ import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { Region } from '@jbrowse/core/util';
4
+ export declare class MultiVariantGetSources extends RpcMethodTypeWithFiltersAndRenameRegions {
5
+ name: string;
6
+ execute(args: {
7
+ adapterConfig: AnyConfigurationModel;
8
+ stopToken?: string;
9
+ sessionId: string;
10
+ headers?: Record<string, string>;
11
+ regions: Region[];
12
+ bpPerPx: number;
13
+ }, rpcDriverClassName: string): Promise<any>;
14
+ }
@@ -0,0 +1,22 @@
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.MultiVariantGetSources = void 0;
7
+ const dataAdapterCache_1 = require("@jbrowse/core/data_adapters/dataAdapterCache");
8
+ const RpcMethodTypeWithFiltersAndRenameRegions_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions"));
9
+ class MultiVariantGetSources extends RpcMethodTypeWithFiltersAndRenameRegions_1.default {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'MultiVariantGetSources';
13
+ }
14
+ async execute(args, rpcDriverClassName) {
15
+ const pm = this.pluginManager;
16
+ const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
17
+ const { regions, adapterConfig, sessionId } = deserializedArgs;
18
+ const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(pm, sessionId, adapterConfig);
19
+ return dataAdapter.getSources(regions, deserializedArgs);
20
+ }
21
+ }
22
+ exports.MultiVariantGetSources = MultiVariantGetSources;
@@ -1,5 +1,5 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function VariantTrackF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
3
  name: {
4
4
  description: string;
5
5
  type: string;
@@ -77,4 +77,3 @@ declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/c
77
77
  };
78
78
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
79
79
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "trackId">>, undefined>>;
80
- export default configSchema;