@jbrowse/plugin-wiggle 3.6.5 → 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 (407) hide show
  1. package/esm/BigWigAdapter/BigWigAdapter.d.ts +14 -1
  2. package/esm/BigWigAdapter/BigWigAdapter.js +118 -22
  3. package/esm/BigWigAdapter/configSchema.d.ts +2 -2
  4. package/esm/BigWigAdapter/configSchema.js +1 -1
  5. package/esm/BigWigAdapter/index.js +2 -2
  6. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +1 -1
  7. package/esm/CreateMultiWiggleExtension/index.js +2 -2
  8. package/esm/DensityRenderer/DensityRenderer.d.ts +5 -6
  9. package/esm/DensityRenderer/DensityRenderer.js +6 -5
  10. package/esm/DensityRenderer/configSchema.d.ts +3 -3
  11. package/esm/DensityRenderer/configSchema.js +1 -1
  12. package/esm/DensityRenderer/index.js +11 -9
  13. package/esm/DensityRenderer/makeImageData.d.ts +3 -0
  14. package/esm/DensityRenderer/makeImageData.js +13 -0
  15. package/esm/DensityRenderer/renderDensity.d.ts +3 -0
  16. package/esm/DensityRenderer/renderDensity.js +18 -0
  17. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +5 -7
  18. package/esm/LinePlotRenderer/LinePlotRenderer.js +6 -15
  19. package/esm/LinePlotRenderer/configSchema.d.ts +4 -4
  20. package/esm/LinePlotRenderer/configSchema.js +1 -1
  21. package/esm/LinePlotRenderer/index.js +4 -4
  22. package/esm/LinePlotRenderer/makeImageData.d.ts +3 -0
  23. package/esm/LinePlotRenderer/makeImageData.js +13 -0
  24. package/esm/LinePlotRenderer/renderLinePlot.d.ts +3 -0
  25. package/esm/LinePlotRenderer/renderLinePlot.js +23 -0
  26. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
  27. package/esm/LinearWiggleDisplay/components/Tooltip.js +10 -6
  28. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  29. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
  30. package/esm/LinearWiggleDisplay/configSchema.d.ts +9 -9
  31. package/esm/LinearWiggleDisplay/configSchema.js +2 -2
  32. package/esm/LinearWiggleDisplay/index.d.ts +3 -3
  33. package/esm/LinearWiggleDisplay/index.js +6 -6
  34. package/esm/LinearWiggleDisplay/model.d.ts +1130 -92
  35. package/esm/LinearWiggleDisplay/model.js +58 -18
  36. package/esm/LinearWiggleDisplay/renderSvg.d.ts +1 -1
  37. package/esm/LinearWiggleDisplay/renderSvg.js +3 -2
  38. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +5 -7
  39. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +6 -24
  40. package/esm/MultiDensityRenderer/configSchema.d.ts +3 -3
  41. package/esm/MultiDensityRenderer/configSchema.js +1 -1
  42. package/esm/MultiDensityRenderer/index.js +4 -4
  43. package/esm/MultiDensityRenderer/makeImageData.d.ts +3 -0
  44. package/esm/MultiDensityRenderer/makeImageData.js +7 -0
  45. package/esm/MultiDensityRenderer/renderMultiDensity.d.ts +3 -0
  46. package/esm/MultiDensityRenderer/renderMultiDensity.js +37 -0
  47. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +5 -7
  48. package/esm/MultiLineRenderer/MultiLineRenderer.js +6 -17
  49. package/esm/MultiLineRenderer/configSchema.d.ts +5 -5
  50. package/esm/MultiLineRenderer/configSchema.js +2 -2
  51. package/esm/MultiLineRenderer/index.js +4 -4
  52. package/esm/MultiLineRenderer/makeImageData.d.ts +3 -0
  53. package/esm/MultiLineRenderer/makeImageData.js +7 -0
  54. package/esm/MultiLineRenderer/renderMultiLine.d.ts +3 -0
  55. package/esm/MultiLineRenderer/renderMultiLine.js +34 -0
  56. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +2 -2
  57. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +11 -5
  58. package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +1 -1
  59. package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +4 -4
  60. package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +1 -1
  61. package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +5 -5
  62. package/esm/MultiLinearWiggleDisplay/components/LegendItem.d.ts +3 -3
  63. package/esm/MultiLinearWiggleDisplay/components/LegendItem.js +2 -4
  64. package/esm/MultiLinearWiggleDisplay/components/LegendItemText.d.ts +12 -0
  65. package/esm/MultiLinearWiggleDisplay/components/LegendItemText.js +11 -0
  66. package/esm/MultiLinearWiggleDisplay/components/RectBg.d.ts +1 -1
  67. package/esm/MultiLinearWiggleDisplay/components/RectBg.js +4 -3
  68. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +2 -2
  69. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +3 -3
  70. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +1 -1
  71. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +4 -34
  72. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +1 -1
  73. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.js +3 -3
  74. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +2 -4
  75. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +15 -12
  76. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +1 -1
  77. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +3 -3
  78. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +1 -1
  79. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +13 -6
  80. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +1 -1
  81. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +24 -21
  82. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +2 -1
  83. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  84. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
  85. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +2 -2
  86. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +5 -16
  87. package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.d.ts +7 -0
  88. package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.js +15 -0
  89. package/esm/MultiLinearWiggleDisplay/components/types.d.ts +10 -0
  90. package/esm/MultiLinearWiggleDisplay/components/types.js +1 -0
  91. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialog.d.ts +31 -0
  92. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialog.js +45 -0
  93. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.d.ts +10 -0
  94. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.js +81 -0
  95. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.d.ts +1 -0
  96. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.js +4 -0
  97. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.d.ts +10 -0
  98. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.js +39 -0
  99. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +5 -9
  100. package/esm/MultiLinearWiggleDisplay/configSchema.d.ts +9 -9
  101. package/esm/MultiLinearWiggleDisplay/configSchema.js +2 -2
  102. package/esm/MultiLinearWiggleDisplay/index.js +3 -3
  103. package/esm/MultiLinearWiggleDisplay/model.d.ts +3628 -93
  104. package/esm/MultiLinearWiggleDisplay/model.js +80 -50
  105. package/esm/MultiLinearWiggleDisplay/renderSvg.d.ts +1 -1
  106. package/esm/MultiLinearWiggleDisplay/renderSvg.js +3 -2
  107. package/esm/MultiLinearWiggleDisplay/types.d.ts +1 -0
  108. package/esm/MultiLinearWiggleDisplay/util.d.ts +0 -1
  109. package/esm/MultiLinearWiggleDisplay/util.js +1 -7
  110. package/esm/MultiQuantitativeTrack/configSchema.d.ts +16 -11
  111. package/esm/MultiQuantitativeTrack/index.js +13 -2
  112. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +5 -7
  113. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +6 -29
  114. package/esm/MultiRowLineRenderer/configSchema.d.ts +5 -5
  115. package/esm/MultiRowLineRenderer/configSchema.js +2 -2
  116. package/esm/MultiRowLineRenderer/index.js +4 -4
  117. package/esm/MultiRowLineRenderer/makeImageData.d.ts +3 -0
  118. package/esm/MultiRowLineRenderer/makeImageData.js +7 -0
  119. package/esm/MultiRowLineRenderer/renderMultiRowLine.d.ts +3 -0
  120. package/esm/MultiRowLineRenderer/renderMultiRowLine.js +44 -0
  121. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +5 -7
  122. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +6 -29
  123. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +5 -5
  124. package/esm/MultiRowXYPlotRenderer/configSchema.js +2 -2
  125. package/esm/MultiRowXYPlotRenderer/index.js +4 -4
  126. package/esm/MultiRowXYPlotRenderer/makeImageData.d.ts +3 -0
  127. package/esm/MultiRowXYPlotRenderer/makeImageData.js +7 -0
  128. package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.d.ts +3 -0
  129. package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.js +42 -0
  130. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +7 -1
  131. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +81 -26
  132. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -2
  133. package/esm/MultiWiggleAdapter/index.js +2 -2
  134. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +1 -1
  135. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +4 -5
  136. package/esm/MultiWiggleAddTrackWorkflow/index.js +2 -2
  137. package/esm/MultiWiggleRendering.d.ts +7 -7
  138. package/esm/MultiWiggleRendering.js +9 -7
  139. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +5 -7
  140. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +6 -20
  141. package/esm/MultiXYPlotRenderer/configSchema.d.ts +5 -5
  142. package/esm/MultiXYPlotRenderer/configSchema.js +2 -2
  143. package/esm/MultiXYPlotRenderer/index.js +4 -4
  144. package/esm/MultiXYPlotRenderer/makeImageData.d.ts +3 -0
  145. package/esm/MultiXYPlotRenderer/makeImageData.js +7 -0
  146. package/esm/MultiXYPlotRenderer/renderMultiXYPlot.d.ts +3 -0
  147. package/esm/MultiXYPlotRenderer/renderMultiXYPlot.js +35 -0
  148. package/esm/QuantitativeTrack/configSchema.d.ts +16 -11
  149. package/esm/QuantitativeTrack/index.js +13 -2
  150. package/esm/SVGErrorBox.d.ts +5 -0
  151. package/esm/SVGErrorBox.js +4 -0
  152. package/esm/Tooltip.d.ts +1 -3
  153. package/esm/Tooltip.js +7 -7
  154. package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.d.ts +2 -10
  155. package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.js +3 -15
  156. package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.d.ts +1 -1
  157. package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.js +2 -5
  158. package/esm/WiggleRPC/MultiWiggleGetSources.js +1 -4
  159. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +1 -4
  160. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +10 -0
  161. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +26 -5
  162. package/esm/WiggleRPC/executeClusterScoreMatrix.d.ts +6 -0
  163. package/esm/WiggleRPC/executeClusterScoreMatrix.js +15 -0
  164. package/esm/WiggleRPC/getScoreMatrix.d.ts +1 -1
  165. package/esm/WiggleRPC/getScoreMatrix.js +9 -6
  166. package/esm/WiggleRPC/rpcMethods.d.ts +5 -5
  167. package/esm/WiggleRPC/rpcMethods.js +5 -5
  168. package/esm/WiggleRPC/types.d.ts +1 -1
  169. package/esm/WiggleRendering.d.ts +2 -3
  170. package/esm/WiggleRendering.js +16 -3
  171. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +5 -6
  172. package/esm/XYPlotRenderer/XYPlotRenderer.js +6 -20
  173. package/esm/XYPlotRenderer/configSchema.d.ts +5 -5
  174. package/esm/XYPlotRenderer/configSchema.js +2 -2
  175. package/esm/XYPlotRenderer/index.d.ts +3 -3
  176. package/esm/XYPlotRenderer/index.js +14 -12
  177. package/esm/XYPlotRenderer/makeImageData.d.ts +3 -0
  178. package/esm/XYPlotRenderer/makeImageData.js +13 -0
  179. package/esm/XYPlotRenderer/renderXYPlot.d.ts +3 -0
  180. package/esm/XYPlotRenderer/renderXYPlot.js +23 -0
  181. package/esm/configSchema.d.ts +3 -3
  182. package/esm/configSchema.js +1 -1
  183. package/esm/drawDensity.d.ts +4 -2
  184. package/esm/drawDensity.js +25 -15
  185. package/esm/drawLine.d.ts +5 -3
  186. package/esm/drawLine.js +118 -41
  187. package/esm/drawXY.d.ts +4 -2
  188. package/esm/drawXY.js +75 -36
  189. package/esm/getMultiWiggleSourcesAutorun.d.ts +4 -2
  190. package/esm/getMultiWiggleSourcesAutorun.js +7 -2
  191. package/esm/getQuantitativeStats.d.ts +4 -2
  192. package/esm/getQuantitativeStats.js +18 -7
  193. package/esm/getQuantitativeStatsAutorun.d.ts +3 -2
  194. package/esm/getQuantitativeStatsAutorun.js +3 -3
  195. package/esm/index.d.ts +15 -19
  196. package/esm/index.js +31 -37
  197. package/esm/multiRendererHelper.d.ts +7 -0
  198. package/esm/multiRendererHelper.js +12 -0
  199. package/esm/saveTrackFormats/bedGraph.d.ts +4 -0
  200. package/esm/saveTrackFormats/bedGraph.js +11 -0
  201. package/esm/shared/SharedWiggleConfigSchema.d.ts +5 -5
  202. package/esm/shared/SharedWiggleConfigSchema.js +1 -1
  203. package/esm/shared/SharedWiggleMixin.d.ts +1083 -120
  204. package/esm/shared/SharedWiggleMixin.js +48 -26
  205. package/esm/shared/YScaleBar.d.ts +1 -1
  206. package/esm/shared/YScaleBar.js +16 -4
  207. package/esm/shared/axisPropsFromTickScale.d.ts +7 -0
  208. package/esm/shared/axisPropsFromTickScale.js +12 -0
  209. package/esm/svgExportUtil.d.ts +9 -0
  210. package/esm/svgExportUtil.js +6 -0
  211. package/esm/types.d.ts +24 -0
  212. package/esm/types.js +1 -0
  213. package/esm/util.d.ts +35 -1
  214. package/esm/util.js +61 -2
  215. package/package.json +35 -38
  216. package/dist/BigWigAdapter/BigWigAdapter.d.ts +0 -25
  217. package/dist/BigWigAdapter/BigWigAdapter.js +0 -81
  218. package/dist/BigWigAdapter/configSchema.d.ts +0 -20
  219. package/dist/BigWigAdapter/configSchema.js +0 -37
  220. package/dist/BigWigAdapter/index.d.ts +0 -2
  221. package/dist/BigWigAdapter/index.js +0 -54
  222. package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +0 -8
  223. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -26
  224. package/dist/CreateMultiWiggleExtension/index.d.ts +0 -2
  225. package/dist/CreateMultiWiggleExtension/index.js +0 -95
  226. package/dist/DensityRenderer/DensityRenderer.d.ts +0 -7
  227. package/dist/DensityRenderer/DensityRenderer.js +0 -46
  228. package/dist/DensityRenderer/configSchema.d.ts +0 -37
  229. package/dist/DensityRenderer/configSchema.js +0 -13
  230. package/dist/DensityRenderer/index.d.ts +0 -2
  231. package/dist/DensityRenderer/index.js +0 -17
  232. package/dist/GuessAdapter/index.d.ts +0 -2
  233. package/dist/GuessAdapter/index.js +0 -25
  234. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +0 -8
  235. package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -56
  236. package/dist/LinePlotRenderer/configSchema.d.ts +0 -43
  237. package/dist/LinePlotRenderer/configSchema.js +0 -19
  238. package/dist/LinePlotRenderer/index.d.ts +0 -2
  239. package/dist/LinePlotRenderer/index.js +0 -17
  240. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +0 -12
  241. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -31
  242. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +0 -15
  243. package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -32
  244. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  245. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -28
  246. package/dist/LinearWiggleDisplay/configSchema.d.ts +0 -78
  247. package/dist/LinearWiggleDisplay/configSchema.js +0 -29
  248. package/dist/LinearWiggleDisplay/index.d.ts +0 -5
  249. package/dist/LinearWiggleDisplay/index.js +0 -65
  250. package/dist/LinearWiggleDisplay/model.d.ts +0 -419
  251. package/dist/LinearWiggleDisplay/model.js +0 -262
  252. package/dist/LinearWiggleDisplay/renderSvg.d.ts +0 -3
  253. package/dist/LinearWiggleDisplay/renderSvg.js +0 -16
  254. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +0 -8
  255. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +0 -65
  256. package/dist/MultiDensityRenderer/configSchema.d.ts +0 -37
  257. package/dist/MultiDensityRenderer/configSchema.js +0 -13
  258. package/dist/MultiDensityRenderer/index.d.ts +0 -2
  259. package/dist/MultiDensityRenderer/index.js +0 -17
  260. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +0 -8
  261. package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -58
  262. package/dist/MultiLineRenderer/configSchema.d.ts +0 -49
  263. package/dist/MultiLineRenderer/configSchema.js +0 -26
  264. package/dist/MultiLineRenderer/index.d.ts +0 -2
  265. package/dist/MultiLineRenderer/index.js +0 -17
  266. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +0 -7
  267. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +0 -18
  268. package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +0 -7
  269. package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +0 -17
  270. package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +0 -7
  271. package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +0 -15
  272. package/dist/MultiLinearWiggleDisplay/components/LegendItem.d.ts +0 -11
  273. package/dist/MultiLinearWiggleDisplay/components/LegendItem.js +0 -19
  274. package/dist/MultiLinearWiggleDisplay/components/RectBg.d.ts +0 -8
  275. package/dist/MultiLinearWiggleDisplay/components/RectBg.js +0 -9
  276. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +0 -5
  277. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.js +0 -19
  278. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +0 -9
  279. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -42
  280. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +0 -7
  281. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.js +0 -130
  282. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +0 -18
  283. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -35
  284. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +0 -6
  285. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +0 -29
  286. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +0 -7
  287. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +0 -79
  288. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +0 -7
  289. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +0 -145
  290. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +0 -7
  291. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.js +0 -2
  292. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  293. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -14
  294. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +0 -7
  295. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +0 -28
  296. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +0 -13
  297. package/dist/MultiLinearWiggleDisplay/components/util.js +0 -45
  298. package/dist/MultiLinearWiggleDisplay/configSchema.d.ts +0 -84
  299. package/dist/MultiLinearWiggleDisplay/configSchema.js +0 -44
  300. package/dist/MultiLinearWiggleDisplay/index.d.ts +0 -2
  301. package/dist/MultiLinearWiggleDisplay/index.js +0 -57
  302. package/dist/MultiLinearWiggleDisplay/model.d.ts +0 -436
  303. package/dist/MultiLinearWiggleDisplay/model.js +0 -413
  304. package/dist/MultiLinearWiggleDisplay/renderSvg.d.ts +0 -3
  305. package/dist/MultiLinearWiggleDisplay/renderSvg.js +0 -15
  306. package/dist/MultiLinearWiggleDisplay/types.d.ts +0 -14
  307. package/dist/MultiLinearWiggleDisplay/types.js +0 -2
  308. package/dist/MultiLinearWiggleDisplay/util.d.ts +0 -1
  309. package/dist/MultiLinearWiggleDisplay/util.js +0 -10
  310. package/dist/MultiQuantitativeTrack/configSchema.d.ts +0 -80
  311. package/dist/MultiQuantitativeTrack/configSchema.js +0 -11
  312. package/dist/MultiQuantitativeTrack/index.d.ts +0 -2
  313. package/dist/MultiQuantitativeTrack/index.js +0 -20
  314. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +0 -8
  315. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +0 -70
  316. package/dist/MultiRowLineRenderer/configSchema.d.ts +0 -49
  317. package/dist/MultiRowLineRenderer/configSchema.js +0 -26
  318. package/dist/MultiRowLineRenderer/index.d.ts +0 -2
  319. package/dist/MultiRowLineRenderer/index.js +0 -17
  320. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +0 -8
  321. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +0 -70
  322. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +0 -57
  323. package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -34
  324. package/dist/MultiRowXYPlotRenderer/index.d.ts +0 -2
  325. package/dist/MultiRowXYPlotRenderer/index.js +0 -17
  326. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +0 -30
  327. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -85
  328. package/dist/MultiWiggleAdapter/configSchema.d.ts +0 -13
  329. package/dist/MultiWiggleAdapter/configSchema.js +0 -17
  330. package/dist/MultiWiggleAdapter/index.d.ts +0 -2
  331. package/dist/MultiWiggleAdapter/index.js +0 -57
  332. package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +0 -5
  333. package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +0 -89
  334. package/dist/MultiWiggleAddTrackWorkflow/index.d.ts +0 -2
  335. package/dist/MultiWiggleAddTrackWorkflow/index.js +0 -46
  336. package/dist/MultiWiggleRendering.d.ts +0 -19
  337. package/dist/MultiWiggleRendering.js +0 -81
  338. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +0 -8
  339. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -61
  340. package/dist/MultiXYPlotRenderer/configSchema.d.ts +0 -57
  341. package/dist/MultiXYPlotRenderer/configSchema.js +0 -34
  342. package/dist/MultiXYPlotRenderer/index.d.ts +0 -2
  343. package/dist/MultiXYPlotRenderer/index.js +0 -17
  344. package/dist/QuantitativeTrack/configSchema.d.ts +0 -80
  345. package/dist/QuantitativeTrack/configSchema.js +0 -11
  346. package/dist/QuantitativeTrack/index.d.ts +0 -2
  347. package/dist/QuantitativeTrack/index.js +0 -20
  348. package/dist/Tooltip.d.ts +0 -18
  349. package/dist/Tooltip.js +0 -34
  350. package/dist/WiggleBaseRenderer.d.ts +0 -57
  351. package/dist/WiggleBaseRenderer.js +0 -42
  352. package/dist/WiggleRPC/MultiWiggleClusterScoreMatrix.d.ts +0 -14
  353. package/dist/WiggleRPC/MultiWiggleClusterScoreMatrix.js +0 -31
  354. package/dist/WiggleRPC/MultiWiggleGetScoreMatrix.d.ts +0 -6
  355. package/dist/WiggleRPC/MultiWiggleGetScoreMatrix.js +0 -22
  356. package/dist/WiggleRPC/MultiWiggleGetSources.d.ts +0 -14
  357. package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -22
  358. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +0 -12
  359. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -22
  360. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +0 -13
  361. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -22
  362. package/dist/WiggleRPC/getScoreMatrix.d.ts +0 -6
  363. package/dist/WiggleRPC/getScoreMatrix.js +0 -35
  364. package/dist/WiggleRPC/rpcMethods.d.ts +0 -5
  365. package/dist/WiggleRPC/rpcMethods.js +0 -21
  366. package/dist/WiggleRPC/type.d.ts +0 -0
  367. package/dist/WiggleRPC/type.js +0 -1
  368. package/dist/WiggleRPC/types.d.ts +0 -13
  369. package/dist/WiggleRPC/types.js +0 -2
  370. package/dist/WiggleRendering.d.ts +0 -14
  371. package/dist/WiggleRendering.js +0 -35
  372. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +0 -7
  373. package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -61
  374. package/dist/XYPlotRenderer/configSchema.d.ts +0 -57
  375. package/dist/XYPlotRenderer/configSchema.js +0 -34
  376. package/dist/XYPlotRenderer/index.d.ts +0 -5
  377. package/dist/XYPlotRenderer/index.js +0 -24
  378. package/dist/configSchema.d.ts +0 -37
  379. package/dist/configSchema.js +0 -47
  380. package/dist/drawDensity.d.ts +0 -18
  381. package/dist/drawDensity.js +0 -81
  382. package/dist/drawLine.d.ts +0 -20
  383. package/dist/drawLine.js +0 -77
  384. package/dist/drawXY.d.ts +0 -21
  385. package/dist/drawXY.js +0 -191
  386. package/dist/getMultiWiggleSourcesAutorun.d.ts +0 -17
  387. package/dist/getMultiWiggleSourcesAutorun.js +0 -38
  388. package/dist/getQuantitativeStats.d.ts +0 -13
  389. package/dist/getQuantitativeStats.js +0 -70
  390. package/dist/getQuantitativeStatsAutorun.d.ts +0 -13
  391. package/dist/getQuantitativeStatsAutorun.js +0 -35
  392. package/dist/index.d.ts +0 -91
  393. package/dist/index.js +0 -112
  394. package/dist/shared/SetMinMaxDialog.d.ts +0 -10
  395. package/dist/shared/SetMinMaxDialog.js +0 -26
  396. package/dist/shared/SharedWiggleConfigSchema.d.ts +0 -66
  397. package/dist/shared/SharedWiggleConfigSchema.js +0 -56
  398. package/dist/shared/SharedWiggleMixin.d.ts +0 -405
  399. package/dist/shared/SharedWiggleMixin.js +0 -343
  400. package/dist/shared/YScaleBar.d.ts +0 -9
  401. package/dist/shared/YScaleBar.js +0 -12
  402. package/dist/util.d.ts +0 -24
  403. package/dist/util.js +0 -105
  404. package/esm/WiggleBaseRenderer.d.ts +0 -57
  405. package/esm/WiggleBaseRenderer.js +0 -36
  406. package/esm/WiggleRPC/type.d.ts +0 -0
  407. package/esm/WiggleRPC/type.js +0 -1
@@ -1,4 +1,4 @@
1
- declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ declare const configSchema: import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
2
2
  filled: {
3
3
  type: string;
4
4
  defaultValue: boolean;
@@ -10,7 +10,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
10
10
  };
11
11
  summaryScoreMode: {
12
12
  type: string;
13
- model: import("mobx-state-tree").ISimpleType<string>;
13
+ model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
14
14
  description: string;
15
15
  defaultValue: string;
16
16
  };
@@ -18,7 +18,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
18
18
  type: string;
19
19
  defaultValue: number;
20
20
  };
21
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
21
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
22
22
  color: {
23
23
  type: string;
24
24
  description: string;
@@ -44,7 +44,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
44
44
  };
45
45
  bicolorPivot: {
46
46
  type: string;
47
- model: import("mobx-state-tree").ISimpleType<string>;
47
+ model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
48
48
  description: string;
49
49
  defaultValue: string;
50
50
  };
@@ -53,5 +53,5 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
53
53
  defaultValue: number;
54
54
  description: string;
55
55
  };
56
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
56
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
57
57
  export default configSchema;
@@ -1,6 +1,6 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import { types } from 'mobx-state-tree';
3
- import baseWiggleRendererConfigSchema from '../configSchema';
2
+ import { types } from '@jbrowse/mobx-state-tree';
3
+ import baseWiggleRendererConfigSchema from "../configSchema.js";
4
4
  function x() { }
5
5
  const configSchema = ConfigurationSchema('MultiRowXYPlotRenderer', {
6
6
  filled: {
@@ -1,10 +1,10 @@
1
- import ReactComponent from '../MultiWiggleRendering';
2
- import MultiRowXYPlotRenderer from './MultiRowXYPlotRenderer';
3
- import configSchema from './configSchema';
1
+ import { lazy } from 'react';
2
+ import MultiRowXYPlotRenderer from "./MultiRowXYPlotRenderer.js";
3
+ import configSchema from "./configSchema.js";
4
4
  export default function MultiRowXYPlotRendererF(pluginManager) {
5
5
  pluginManager.addRendererType(() => new MultiRowXYPlotRenderer({
6
6
  name: 'MultiRowXYPlotRenderer',
7
- ReactComponent,
7
+ ReactComponent: lazy(() => import("../MultiWiggleRendering.js")),
8
8
  configSchema,
9
9
  pluginManager,
10
10
  }));
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ export declare function makeImageData(renderProps: MultiRenderArgsDeserialized, pluginManager: PluginManager): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
@@ -0,0 +1,7 @@
1
+ export async function makeImageData(renderProps, pluginManager) {
2
+ const { renderMultiWiggle } = await import("../multiRendererHelper.js");
3
+ return renderMultiWiggle(pluginManager, renderProps, async (props, features) => {
4
+ const { renderMultiRowXYPlot } = await import("./renderMultiRowXYPlot.js");
5
+ return renderMultiRowXYPlot(props, features);
6
+ });
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type { Feature } from '@jbrowse/core/util';
3
+ export declare function renderMultiRowXYPlot(renderProps: MultiRenderArgsDeserialized, features: Feature[]): Promise<import("librpc-web-mod").RpcResult>;
@@ -0,0 +1,42 @@
1
+ import { createStopTokenChecker, groupBy, renderToAbstractCanvas, updateStatus, } from '@jbrowse/core/util';
2
+ import { rpcResult } from '@jbrowse/core/util/librpc';
3
+ import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill';
4
+ import { drawXY } from "../drawXY.js";
5
+ import { serializeWiggleFeature } from "../util.js";
6
+ export async function renderMultiRowXYPlot(renderProps, features) {
7
+ const { sources, height, regions, bpPerPx, stopToken, statusCallback = () => { }, } = renderProps;
8
+ const region = regions[0];
9
+ const width = (region.end - region.start) / bpPerPx;
10
+ const rowHeight = height / sources.length;
11
+ const lastCheck = createStopTokenChecker(stopToken);
12
+ const { reducedFeatures, ...rest } = await updateStatus('Rendering plot', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => {
13
+ const groups = groupBy(features, f => f.get('source'));
14
+ let allReducedFeatures = [];
15
+ ctx.save();
16
+ for (const source of sources) {
17
+ const { reducedFeatures: reduced } = drawXY(ctx, {
18
+ ...renderProps,
19
+ features: groups[source.name] || [],
20
+ height: rowHeight,
21
+ colorCallback: () => source.color || 'blue',
22
+ lastCheck,
23
+ });
24
+ allReducedFeatures = allReducedFeatures.concat(reduced);
25
+ ctx.strokeStyle = 'rgba(200,200,200,0.8)';
26
+ ctx.beginPath();
27
+ ctx.moveTo(0, rowHeight);
28
+ ctx.lineTo(width, rowHeight);
29
+ ctx.stroke();
30
+ ctx.translate(0, rowHeight);
31
+ }
32
+ ctx.restore();
33
+ return { reducedFeatures: allReducedFeatures };
34
+ }));
35
+ const serialized = {
36
+ ...rest,
37
+ features: reducedFeatures.map(serializeWiggleFeature),
38
+ height,
39
+ width,
40
+ };
41
+ return rpcResult(serialized, collectTransferables(rest));
42
+ }
@@ -4,27 +4,33 @@ import type { Feature } from '@jbrowse/core/util';
4
4
  import type { AugmentedRegion as Region } from '@jbrowse/core/util/types';
5
5
  interface WiggleOptions extends BaseOptions {
6
6
  resolution?: number;
7
+ staticBlocks?: Region[];
7
8
  }
8
9
  interface AdapterEntry {
9
10
  dataAdapter: BaseFeatureDataAdapter;
10
11
  source: string;
12
+ name: string;
11
13
  [key: string]: unknown;
12
14
  }
13
15
  export default class MultiWiggleAdapter extends BaseFeatureDataAdapter {
14
16
  static capabilities: string[];
17
+ private adaptersP?;
15
18
  getAdapters(): Promise<AdapterEntry[]>;
19
+ private getAdaptersImpl;
16
20
  getRefNames(opts?: BaseOptions): Promise<string[]>;
17
21
  getGlobalStats(opts?: BaseOptions): Promise<{
18
22
  scoreMin: number;
19
23
  scoreMax: number;
20
24
  }>;
21
25
  getFeatures(region: Region, opts?: WiggleOptions): import("rxjs").Observable<Feature>;
26
+ getRegionQuantitativeStats(region: Region, opts?: WiggleOptions): Promise<import("@jbrowse/core/util/stats").RectifiedQuantitativeStats>;
22
27
  getMultiRegionFeatureDensityStats(_regions: Region[]): Promise<{
23
28
  featureDensity: number;
24
29
  }>;
30
+ getMultiRegionQuantitativeStats(regions?: Region[], opts?: WiggleOptions): Promise<import("@jbrowse/core/util/stats").RectifiedQuantitativeStats>;
25
31
  getSources(_regions: Region[]): Promise<{
26
32
  name: string;
27
- __name: unknown;
33
+ source: string;
28
34
  }[]>;
29
35
  }
30
36
  export {};
@@ -1,4 +1,5 @@
1
1
  import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { aggregateQuantitativeStats, blankStats, } from '@jbrowse/core/data_adapters/BaseAdapter/stats';
2
3
  import { SimpleFeature, max, min } from '@jbrowse/core/util';
3
4
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
4
5
  import { merge } from 'rxjs';
@@ -7,14 +8,47 @@ function getFilename(uri) {
7
8
  const filename = uri.slice(uri.lastIndexOf('/') + 1);
8
9
  return filename.slice(0, filename.lastIndexOf('.'));
9
10
  }
10
- class MultiWiggleAdapter extends BaseFeatureDataAdapter {
11
+ function getFilenameFromAdapterConfig(config) {
12
+ try {
13
+ if (config.type === 'BigWigAdapter' && config.bigWigLocation) {
14
+ const location = config.bigWigLocation;
15
+ if ('uri' in location && location.uri) {
16
+ return getFilename(location.uri);
17
+ }
18
+ if ('localPath' in location && location.localPath) {
19
+ return getFilename(location.localPath);
20
+ }
21
+ if ('blob' in location && location.blob) {
22
+ const blob = location.blob;
23
+ return blob.name ? getFilename(blob.name) : undefined;
24
+ }
25
+ }
26
+ return undefined;
27
+ }
28
+ catch (e) {
29
+ return undefined;
30
+ }
31
+ }
32
+ export default class MultiWiggleAdapter extends BaseFeatureDataAdapter {
33
+ static capabilities = [
34
+ 'hasResolution',
35
+ 'hasLocalStats',
36
+ 'hasGlobalStats',
37
+ ];
38
+ adaptersP;
11
39
  async getAdapters() {
40
+ if (!this.adaptersP) {
41
+ this.adaptersP = this.getAdaptersImpl();
42
+ }
43
+ return this.adaptersP;
44
+ }
45
+ async getAdaptersImpl() {
12
46
  const getSubAdapter = this.getSubAdapter;
13
47
  if (!getSubAdapter) {
14
48
  throw new Error('no getSubAdapter available');
15
49
  }
16
50
  let subConfs = this.getConf('subadapters');
17
- if (!(subConfs === null || subConfs === void 0 ? void 0 : subConfs.length)) {
51
+ if (!subConfs?.length) {
18
52
  const entries = this.getConf('bigWigs');
19
53
  subConfs = entries.map(entry => ({
20
54
  type: 'BigWigAdapter',
@@ -27,10 +61,14 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
27
61
  return Promise.all(subConfs.map(async (conf) => {
28
62
  const dataAdapter = (await getSubAdapter(conf))
29
63
  .dataAdapter;
64
+ const source = conf.source ||
65
+ conf.name ||
66
+ getFilenameFromAdapterConfig(conf) ||
67
+ dataAdapter.id;
30
68
  return {
31
- source: conf.name || dataAdapter.id,
32
69
  ...conf,
33
70
  dataAdapter,
71
+ source,
34
72
  };
35
73
  }));
36
74
  }
@@ -41,43 +79,60 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
41
79
  }
42
80
  async getGlobalStats(opts) {
43
81
  const adapters = await this.getAdapters();
44
- const stats = (await Promise.all(adapters.map(adp => { var _a, _b; return (_b = (_a = adp.dataAdapter).getGlobalStats) === null || _b === void 0 ? void 0 : _b.call(_a, opts); }))).filter(f => !!f);
45
- const scoreMin = min(stats.map(s => s.scoreMin));
46
- const scoreMax = max(stats.map(s => s.scoreMax));
82
+ const stats = (await Promise.all(adapters.map(adp => adp.dataAdapter.getGlobalStats?.(opts)))).filter(f => !!f);
47
83
  return {
48
- scoreMin,
49
- scoreMax,
84
+ scoreMin: min(stats.map(s => s.scoreMin)),
85
+ scoreMax: max(stats.map(s => s.scoreMax)),
50
86
  };
51
87
  }
52
88
  getFeatures(region, opts = {}) {
53
89
  return ObservableCreate(async (observer) => {
54
90
  const adapters = await this.getAdapters();
55
- merge(...adapters.map(adp => adp.dataAdapter.getFeatures(region, opts).pipe(map(p => p.get('source')
56
- ? p
57
- : new SimpleFeature({
58
- ...p.toJSON(),
59
- uniqueId: `${adp.source}-${p.id()}`,
60
- source: adp.source,
61
- }))))).subscribe(observer);
91
+ merge(...adapters.map(adp => {
92
+ const { source, dataAdapter } = adp;
93
+ return dataAdapter.getFeatures(region, opts).pipe(map(f => {
94
+ if (f.get('source')) {
95
+ return f;
96
+ }
97
+ const data = f.toJSON();
98
+ data.uniqueId = `${source}-${f.id()}`;
99
+ data.source = source;
100
+ return new SimpleFeature(data);
101
+ }));
102
+ })).subscribe(observer);
62
103
  }, opts.stopToken);
63
104
  }
105
+ async getRegionQuantitativeStats(region, opts) {
106
+ const adapters = await this.getAdapters();
107
+ const allStats = await Promise.all(adapters.map(async (adp) => {
108
+ const { dataAdapter } = adp;
109
+ return dataAdapter.getRegionQuantitativeStats(region, opts);
110
+ }));
111
+ return aggregateQuantitativeStats(allStats.filter(Boolean));
112
+ }
64
113
  async getMultiRegionFeatureDensityStats(_regions) {
65
114
  return {
66
115
  featureDensity: 0,
67
116
  };
68
117
  }
69
- async getSources(_regions) {
118
+ async getMultiRegionQuantitativeStats(regions = [], opts = {}) {
119
+ if (!regions.length) {
120
+ return blankStats();
121
+ }
70
122
  const adapters = await this.getAdapters();
71
- return adapters.map(({ dataAdapter, source, name, ...rest }) => ({
72
- name: source,
73
- __name: name,
74
- ...rest,
123
+ const allStats = await Promise.all(adapters.map(async (adp) => {
124
+ const { dataAdapter } = adp;
125
+ return dataAdapter.getMultiRegionQuantitativeStats(regions, opts);
75
126
  }));
127
+ return aggregateQuantitativeStats(allStats.filter(Boolean));
128
+ }
129
+ async getSources(_regions) {
130
+ const adapters = await this.getAdapters();
131
+ return adapters.map(({ type, bigWigLocation, dataAdapter, ...rest }) => {
132
+ return {
133
+ ...rest,
134
+ name: rest.source,
135
+ };
136
+ });
76
137
  }
77
138
  }
78
- MultiWiggleAdapter.capabilities = [
79
- 'hasResolution',
80
- 'hasLocalStats',
81
- 'hasGlobalStats',
82
- ];
83
- export default MultiWiggleAdapter;
@@ -1,4 +1,4 @@
1
- declare const MultiWiggleAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ declare const MultiWiggleAdapter: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
2
2
  subadapters: {
3
3
  type: string;
4
4
  defaultValue: never[];
@@ -9,5 +9,5 @@ declare const MultiWiggleAdapter: import("@jbrowse/core/configuration/configurat
9
9
  description: string;
10
10
  defaultValue: never[];
11
11
  };
12
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
12
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
13
13
  export default MultiWiggleAdapter;
@@ -1,5 +1,5 @@
1
1
  import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
- import configSchema from './configSchema';
2
+ import configSchema from "./configSchema.js";
3
3
  export default function MultiWiggleAdapterF(pluginManager) {
4
4
  pluginManager.addAdapterType(() => new AdapterType({
5
5
  name: 'MultiWiggleAdapter',
@@ -13,6 +13,6 @@ export default function MultiWiggleAdapterF(pluginManager) {
13
13
  adapterMetadata: {
14
14
  hiddenFromGUI: true,
15
15
  },
16
- getAdapterClass: () => import('./MultiWiggleAdapter').then(r => r.default),
16
+ getAdapterClass: () => import("./MultiWiggleAdapter.js").then(r => r.default),
17
17
  }));
18
18
  }
@@ -1,5 +1,5 @@
1
1
  import type { AddTrackModel } from '@jbrowse/plugin-data-management';
2
- declare const MultiWiggleAddTrackWorkflow: ({ model, }: {
2
+ declare const MultiWiggleAddTrackWorkflow: ({ model }: {
3
3
  model: AddTrackModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
5
5
  export default MultiWiggleAddTrackWorkflow;
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { getSession, isElectron, isSessionModelWithWidgets, isSessionWithAddTracks, } from '@jbrowse/core/util';
4
4
  import { storeBlobLocation } from '@jbrowse/core/util/tracks';
5
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
5
6
  import { Button, Paper, TextField } from '@mui/material';
6
7
  import { observer } from 'mobx-react';
7
- import { makeStyles } from 'tss-react/mui';
8
8
  const useStyles = makeStyles()(theme => ({
9
9
  paper: {
10
10
  margin: theme.spacing(),
@@ -25,7 +25,6 @@ function makeFileLocation(file) {
25
25
  : storeBlobLocation({ blob: file });
26
26
  }
27
27
  function doSubmit({ trackName, val, model, }) {
28
- var _a;
29
28
  const session = getSession(model);
30
29
  try {
31
30
  const trackId = [
@@ -54,7 +53,7 @@ function doSubmit({ trackName, val, model, }) {
54
53
  ...obj,
55
54
  },
56
55
  });
57
- (_a = model.view) === null || _a === void 0 ? void 0 : _a.showTrack(trackId);
56
+ model.view?.showTrack(trackId);
58
57
  }
59
58
  model.clearData();
60
59
  if (isSessionModelWithWidgets(session)) {
@@ -66,10 +65,10 @@ function doSubmit({ trackName, val, model, }) {
66
65
  session.notifyError(`${e}`, e);
67
66
  }
68
67
  }
69
- const MultiWiggleAddTrackWorkflow = observer(function ({ model, }) {
68
+ const MultiWiggleAddTrackWorkflow = observer(function MultiWiggleAddTrackWorkflow({ model }) {
70
69
  const { classes } = useStyles();
71
70
  const [val, setVal] = useState('');
72
- const [trackName, setTrackName] = useState(`MultiWiggle${+Date.now()}`);
71
+ const [trackName, setTrackName] = useState(`MultiWiggle${Date.now()}`);
73
72
  return (_jsxs(Paper, { className: classes.paper, children: [_jsxs("ul", { children: [_jsx("li", { children: "Enter list of URLs for bigwig files in the textbox" }), _jsx("li", { children: "Or, use the button below the text box to select files from your computer" })] }), _jsx(TextField, { multiline: true, fullWidth: true, rows: 10, value: val, placeholder: "Paste list of URLs here, or use file selector below", variant: "outlined", onChange: event => {
74
73
  setVal(event.target.value);
75
74
  } }), _jsxs(Button, { variant: "outlined", component: "label", children: ["Choose Files from your computer", _jsx("input", { type: "file", hidden: true, multiple: true, onChange: ({ target }) => {
@@ -1,10 +1,10 @@
1
1
  import { lazy } from 'react';
2
2
  import { AddTrackWorkflowType } from '@jbrowse/core/pluggableElementTypes';
3
- import { types } from 'mobx-state-tree';
3
+ import { types } from '@jbrowse/mobx-state-tree';
4
4
  export default function MultiWiggleAddTrackWorkflowF(pm) {
5
5
  pm.addAddTrackWorkflowType(() => new AddTrackWorkflowType({
6
6
  name: 'Multi-wiggle track',
7
- ReactComponent: lazy(() => import('./AddTrackWorkflow')),
7
+ ReactComponent: lazy(() => import("./AddTrackWorkflow.js")),
8
8
  stateModel: types.model({}),
9
9
  }));
10
10
  }
@@ -1,6 +1,11 @@
1
- import type { Source } from './util';
1
+ import type { Source } from './util.ts';
2
2
  import type { Feature } from '@jbrowse/core/util';
3
3
  import type { Region } from '@jbrowse/core/util/types';
4
+ interface MultiWiggleDisplayModel {
5
+ isMultiRow: boolean;
6
+ setFeatureUnderMouse: (f?: Feature) => void;
7
+ selectFeature: (f: Feature) => void;
8
+ }
4
9
  declare const MultiWiggleRendering: (props: {
5
10
  regions: Region[];
6
11
  features: Map<string, Feature>;
@@ -9,11 +14,6 @@ declare const MultiWiggleRendering: (props: {
9
14
  height: number;
10
15
  blockKey: string;
11
16
  sources: Source[];
12
- displayModel?: {
13
- isMultiRow: boolean;
14
- };
15
- onMouseLeave?: (event: React.MouseEvent) => void;
16
- onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void;
17
- onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void;
17
+ displayModel: MultiWiggleDisplayModel;
18
18
  }) => import("react/jsx-runtime").JSX.Element;
19
19
  export default MultiWiggleRendering;
@@ -3,11 +3,11 @@ import { useRef } from 'react';
3
3
  import { PrerenderedCanvas } from '@jbrowse/core/ui';
4
4
  import { SimpleFeature } from '@jbrowse/core/util';
5
5
  import { observer } from 'mobx-react';
6
- const MultiWiggleRendering = observer(function (props) {
7
- const { regions, features, bpPerPx, width, height, sources, onMouseLeave = () => { }, onMouseMove = () => { }, onFeatureClick = () => { }, displayModel, } = props;
6
+ const MultiWiggleRendering = observer(function MultiWiggleRendering(props) {
7
+ const { regions, features, bpPerPx, width, height, sources, displayModel } = props;
8
8
  const region = regions[0];
9
9
  const ref = useRef(null);
10
- const { isMultiRow } = displayModel || {};
10
+ const { isMultiRow } = displayModel;
11
11
  function getFeatureUnderMouse(eventClientX, eventClientY) {
12
12
  if (!ref.current) {
13
13
  return;
@@ -63,13 +63,15 @@ const MultiWiggleRendering = observer(function (props) {
63
63
  return (_jsx("div", { ref: ref, onMouseMove: event => {
64
64
  const { clientX, clientY } = event;
65
65
  const featureUnderMouse = getFeatureUnderMouse(clientX, clientY);
66
- onMouseMove(event, featureUnderMouse);
66
+ displayModel.setFeatureUnderMouse(featureUnderMouse);
67
67
  }, onClick: event => {
68
68
  const { clientX, clientY } = event;
69
69
  const featureUnderMouse = getFeatureUnderMouse(clientX, clientY);
70
- onFeatureClick(event, featureUnderMouse);
71
- }, onMouseLeave: event => {
72
- onMouseLeave(event);
70
+ if (featureUnderMouse) {
71
+ displayModel.selectFeature(featureUnderMouse);
72
+ }
73
+ }, onMouseLeave: () => {
74
+ displayModel.setFeatureUnderMouse(undefined);
73
75
  }, style: {
74
76
  overflow: 'visible',
75
77
  position: 'relative',
@@ -1,8 +1,6 @@
1
- import WiggleBaseRenderer from '../WiggleBaseRenderer';
2
- import type { MultiRenderArgsDeserialized as MultiArgs } from '../WiggleBaseRenderer';
3
- import type { Feature } from '@jbrowse/core/util';
4
- export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
5
- draw(ctx: CanvasRenderingContext2D, props: MultiArgs): Promise<{
6
- reducedFeatures: Feature[];
7
- }>;
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
3
+ export default class MultiXYPlotRenderer extends FeatureRendererType {
4
+ supportsSVG: boolean;
5
+ render(renderProps: MultiRenderArgsDeserialized): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
8
6
  }
@@ -1,22 +1,8 @@
1
- import { forEachWithStopTokenCheck, groupBy } from '@jbrowse/core/util';
2
- import WiggleBaseRenderer from '../WiggleBaseRenderer';
3
- import { YSCALEBAR_LABEL_OFFSET } from '../util';
4
- export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
5
- async draw(ctx, props) {
6
- const { stopToken, sources, features } = props;
7
- const groups = groupBy(features.values(), f => f.get('source'));
8
- const { drawXY } = await import('../drawXY');
9
- let feats = [];
10
- forEachWithStopTokenCheck(sources, stopToken, source => {
11
- const features = groups[source.name] || [];
12
- const { reducedFeatures } = drawXY(ctx, {
13
- ...props,
14
- features,
15
- offset: YSCALEBAR_LABEL_OFFSET,
16
- colorCallback: () => source.color || 'blue',
17
- });
18
- feats = feats.concat(reducedFeatures);
19
- });
20
- return { reducedFeatures: feats };
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ export default class MultiXYPlotRenderer extends FeatureRendererType {
3
+ supportsSVG = true;
4
+ async render(renderProps) {
5
+ const { makeImageData } = await import("./makeImageData.js");
6
+ return makeImageData(renderProps, this.pluginManager);
21
7
  }
22
8
  }
@@ -1,4 +1,4 @@
1
- declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ declare const configSchema: import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
2
2
  filled: {
3
3
  type: string;
4
4
  defaultValue: boolean;
@@ -10,7 +10,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
10
10
  };
11
11
  summaryScoreMode: {
12
12
  type: string;
13
- model: import("mobx-state-tree").ISimpleType<string>;
13
+ model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
14
14
  description: string;
15
15
  defaultValue: string;
16
16
  };
@@ -18,7 +18,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
18
18
  type: string;
19
19
  defaultValue: number;
20
20
  };
21
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
21
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
22
22
  color: {
23
23
  type: string;
24
24
  description: string;
@@ -44,7 +44,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
44
44
  };
45
45
  bicolorPivot: {
46
46
  type: string;
47
- model: import("mobx-state-tree").ISimpleType<string>;
47
+ model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
48
48
  description: string;
49
49
  defaultValue: string;
50
50
  };
@@ -53,5 +53,5 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
53
53
  defaultValue: number;
54
54
  description: string;
55
55
  };
56
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
56
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
57
57
  export default configSchema;
@@ -1,6 +1,6 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import { types } from 'mobx-state-tree';
3
- import baseWiggleRendererConfigSchema from '../configSchema';
2
+ import { types } from '@jbrowse/mobx-state-tree';
3
+ import baseWiggleRendererConfigSchema from "../configSchema.js";
4
4
  function x() { }
5
5
  const configSchema = ConfigurationSchema('MultiXYPlotRenderer', {
6
6
  filled: {
@@ -1,10 +1,10 @@
1
- import ReactComponent from '../MultiWiggleRendering';
2
- import MultiXYPlotRenderer from './MultiXYPlotRenderer';
3
- import configSchema from './configSchema';
1
+ import { lazy } from 'react';
2
+ import MultiXYPlotRenderer from "./MultiXYPlotRenderer.js";
3
+ import configSchema from "./configSchema.js";
4
4
  export default function MultiXYPlotRendererF(pluginManager) {
5
5
  pluginManager.addRendererType(() => new MultiXYPlotRenderer({
6
6
  name: 'MultiXYPlotRenderer',
7
- ReactComponent,
7
+ ReactComponent: lazy(() => import("../MultiWiggleRendering.js")),
8
8
  configSchema,
9
9
  pluginManager,
10
10
  }));
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ export declare function makeImageData(renderProps: MultiRenderArgsDeserialized, pluginManager: PluginManager): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
@@ -0,0 +1,7 @@
1
+ export async function makeImageData(renderProps, pluginManager) {
2
+ const { renderMultiWiggle } = await import("../multiRendererHelper.js");
3
+ return renderMultiWiggle(pluginManager, renderProps, async (props, features) => {
4
+ const { renderMultiXYPlot } = await import("./renderMultiXYPlot.js");
5
+ return renderMultiXYPlot(props, features);
6
+ });
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type { Feature } from '@jbrowse/core/util';
3
+ export declare function renderMultiXYPlot(renderProps: MultiRenderArgsDeserialized, features: Feature[]): Promise<import("librpc-web-mod").RpcResult>;
@@ -0,0 +1,35 @@
1
+ import { groupBy, renderToAbstractCanvas, updateStatus, } from '@jbrowse/core/util';
2
+ import { rpcResult } from '@jbrowse/core/util/librpc';
3
+ import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill';
4
+ import { createStopTokenChecker } from '@jbrowse/core/util/stopToken';
5
+ import { drawXY } from "../drawXY.js";
6
+ import { serializeWiggleFeature } from "../util.js";
7
+ export async function renderMultiXYPlot(renderProps, features) {
8
+ const { sources, height, regions, bpPerPx, stopToken, statusCallback = () => { }, } = renderProps;
9
+ const region = regions[0];
10
+ const width = (region.end - region.start) / bpPerPx;
11
+ const lastCheck = createStopTokenChecker(stopToken);
12
+ const { reducedFeatures, ...rest } = await updateStatus('Rendering plot', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => {
13
+ const groups = groupBy(features, f => f.get('source'));
14
+ let allReducedFeatures = [];
15
+ for (const source of sources) {
16
+ const { reducedFeatures: reduced } = drawXY(ctx, {
17
+ ...renderProps,
18
+ features: groups[source.name] || [],
19
+ colorCallback: () => source.color || 'blue',
20
+ lastCheck,
21
+ });
22
+ allReducedFeatures = allReducedFeatures.concat(reduced);
23
+ }
24
+ return {
25
+ reducedFeatures: allReducedFeatures,
26
+ };
27
+ }));
28
+ const serialized = {
29
+ ...rest,
30
+ features: reducedFeatures.map(serializeWiggleFeature),
31
+ height,
32
+ width,
33
+ };
34
+ return rpcResult(serialized, collectTransferables(rest));
35
+ }