@jbrowse/plugin-wiggle 3.7.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) 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/index.js +1 -1
  7. package/esm/DensityRenderer/DensityRenderer.d.ts +5 -6
  8. package/esm/DensityRenderer/DensityRenderer.js +6 -5
  9. package/esm/DensityRenderer/configSchema.d.ts +3 -3
  10. package/esm/DensityRenderer/configSchema.js +1 -1
  11. package/esm/DensityRenderer/index.js +11 -9
  12. package/esm/DensityRenderer/makeImageData.d.ts +3 -0
  13. package/esm/DensityRenderer/makeImageData.js +13 -0
  14. package/esm/DensityRenderer/renderDensity.d.ts +3 -0
  15. package/esm/DensityRenderer/renderDensity.js +18 -0
  16. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +5 -7
  17. package/esm/LinePlotRenderer/LinePlotRenderer.js +6 -15
  18. package/esm/LinePlotRenderer/configSchema.d.ts +4 -4
  19. package/esm/LinePlotRenderer/configSchema.js +1 -1
  20. package/esm/LinePlotRenderer/index.js +4 -4
  21. package/esm/LinePlotRenderer/makeImageData.d.ts +3 -0
  22. package/esm/LinePlotRenderer/makeImageData.js +13 -0
  23. package/esm/LinePlotRenderer/renderLinePlot.d.ts +3 -0
  24. package/esm/LinePlotRenderer/renderLinePlot.js +23 -0
  25. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
  26. package/esm/LinearWiggleDisplay/components/Tooltip.js +10 -6
  27. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  28. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
  29. package/esm/LinearWiggleDisplay/configSchema.d.ts +9 -9
  30. package/esm/LinearWiggleDisplay/configSchema.js +2 -2
  31. package/esm/LinearWiggleDisplay/index.d.ts +3 -3
  32. package/esm/LinearWiggleDisplay/index.js +6 -6
  33. package/esm/LinearWiggleDisplay/model.d.ts +1128 -105
  34. package/esm/LinearWiggleDisplay/model.js +58 -18
  35. package/esm/LinearWiggleDisplay/renderSvg.d.ts +1 -1
  36. package/esm/LinearWiggleDisplay/renderSvg.js +3 -2
  37. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +5 -7
  38. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +6 -24
  39. package/esm/MultiDensityRenderer/configSchema.d.ts +3 -3
  40. package/esm/MultiDensityRenderer/configSchema.js +1 -1
  41. package/esm/MultiDensityRenderer/index.js +4 -4
  42. package/esm/MultiDensityRenderer/makeImageData.d.ts +3 -0
  43. package/esm/MultiDensityRenderer/makeImageData.js +7 -0
  44. package/esm/MultiDensityRenderer/renderMultiDensity.d.ts +3 -0
  45. package/esm/MultiDensityRenderer/renderMultiDensity.js +37 -0
  46. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +5 -7
  47. package/esm/MultiLineRenderer/MultiLineRenderer.js +6 -17
  48. package/esm/MultiLineRenderer/configSchema.d.ts +5 -5
  49. package/esm/MultiLineRenderer/configSchema.js +2 -2
  50. package/esm/MultiLineRenderer/index.js +4 -4
  51. package/esm/MultiLineRenderer/makeImageData.d.ts +3 -0
  52. package/esm/MultiLineRenderer/makeImageData.js +7 -0
  53. package/esm/MultiLineRenderer/renderMultiLine.d.ts +3 -0
  54. package/esm/MultiLineRenderer/renderMultiLine.js +34 -0
  55. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +2 -2
  56. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +11 -6
  57. package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +1 -1
  58. package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +4 -4
  59. package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +1 -1
  60. package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +5 -5
  61. package/esm/MultiLinearWiggleDisplay/components/LegendItem.d.ts +3 -3
  62. package/esm/MultiLinearWiggleDisplay/components/LegendItem.js +1 -1
  63. package/esm/MultiLinearWiggleDisplay/components/LegendItemText.d.ts +6 -4
  64. package/esm/MultiLinearWiggleDisplay/components/LegendItemText.js +2 -2
  65. package/esm/MultiLinearWiggleDisplay/components/RectBg.d.ts +1 -1
  66. package/esm/MultiLinearWiggleDisplay/components/RectBg.js +4 -3
  67. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +2 -2
  68. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +3 -3
  69. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +1 -1
  70. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +2 -2
  71. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +1 -1
  72. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.js +2 -2
  73. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +2 -4
  74. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +8 -9
  75. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +1 -1
  76. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +3 -3
  77. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +1 -1
  78. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +4 -5
  79. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +1 -1
  80. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +12 -17
  81. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +1 -1
  82. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  83. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
  84. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +2 -2
  85. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +5 -16
  86. package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.d.ts +7 -0
  87. package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.js +15 -0
  88. package/esm/MultiLinearWiggleDisplay/components/types.d.ts +10 -0
  89. package/esm/MultiLinearWiggleDisplay/components/types.js +1 -0
  90. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialog.js +4 -4
  91. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.js +1 -1
  92. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +1 -1
  93. package/esm/MultiLinearWiggleDisplay/configSchema.d.ts +9 -9
  94. package/esm/MultiLinearWiggleDisplay/configSchema.js +2 -2
  95. package/esm/MultiLinearWiggleDisplay/index.js +3 -3
  96. package/esm/MultiLinearWiggleDisplay/model.d.ts +3624 -106
  97. package/esm/MultiLinearWiggleDisplay/model.js +78 -48
  98. package/esm/MultiLinearWiggleDisplay/renderSvg.d.ts +1 -1
  99. package/esm/MultiLinearWiggleDisplay/renderSvg.js +3 -2
  100. package/esm/MultiQuantitativeTrack/configSchema.d.ts +16 -11
  101. package/esm/MultiQuantitativeTrack/index.js +13 -2
  102. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +5 -7
  103. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +6 -29
  104. package/esm/MultiRowLineRenderer/configSchema.d.ts +5 -5
  105. package/esm/MultiRowLineRenderer/configSchema.js +2 -2
  106. package/esm/MultiRowLineRenderer/index.js +4 -4
  107. package/esm/MultiRowLineRenderer/makeImageData.d.ts +3 -0
  108. package/esm/MultiRowLineRenderer/makeImageData.js +7 -0
  109. package/esm/MultiRowLineRenderer/renderMultiRowLine.d.ts +3 -0
  110. package/esm/MultiRowLineRenderer/renderMultiRowLine.js +44 -0
  111. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +5 -7
  112. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +6 -29
  113. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +5 -5
  114. package/esm/MultiRowXYPlotRenderer/configSchema.js +2 -2
  115. package/esm/MultiRowXYPlotRenderer/index.js +4 -4
  116. package/esm/MultiRowXYPlotRenderer/makeImageData.d.ts +3 -0
  117. package/esm/MultiRowXYPlotRenderer/makeImageData.js +7 -0
  118. package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.d.ts +3 -0
  119. package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.js +42 -0
  120. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +5 -0
  121. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +48 -18
  122. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -2
  123. package/esm/MultiWiggleAdapter/index.js +2 -2
  124. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +1 -1
  125. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +3 -4
  126. package/esm/MultiWiggleAddTrackWorkflow/index.js +2 -2
  127. package/esm/MultiWiggleRendering.d.ts +7 -7
  128. package/esm/MultiWiggleRendering.js +9 -7
  129. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +5 -7
  130. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +6 -20
  131. package/esm/MultiXYPlotRenderer/configSchema.d.ts +5 -5
  132. package/esm/MultiXYPlotRenderer/configSchema.js +2 -2
  133. package/esm/MultiXYPlotRenderer/index.js +4 -4
  134. package/esm/MultiXYPlotRenderer/makeImageData.d.ts +3 -0
  135. package/esm/MultiXYPlotRenderer/makeImageData.js +7 -0
  136. package/esm/MultiXYPlotRenderer/renderMultiXYPlot.d.ts +3 -0
  137. package/esm/MultiXYPlotRenderer/renderMultiXYPlot.js +35 -0
  138. package/esm/QuantitativeTrack/configSchema.d.ts +16 -11
  139. package/esm/QuantitativeTrack/index.js +13 -2
  140. package/esm/SVGErrorBox.d.ts +5 -0
  141. package/esm/SVGErrorBox.js +4 -0
  142. package/esm/Tooltip.d.ts +1 -3
  143. package/esm/Tooltip.js +7 -7
  144. package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.d.ts +2 -10
  145. package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.js +3 -15
  146. package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.d.ts +1 -1
  147. package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.js +2 -5
  148. package/esm/WiggleRPC/MultiWiggleGetSources.js +1 -4
  149. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +1 -4
  150. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +10 -0
  151. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +26 -5
  152. package/esm/WiggleRPC/executeClusterScoreMatrix.d.ts +6 -0
  153. package/esm/WiggleRPC/executeClusterScoreMatrix.js +15 -0
  154. package/esm/WiggleRPC/getScoreMatrix.d.ts +1 -1
  155. package/esm/WiggleRPC/getScoreMatrix.js +9 -6
  156. package/esm/WiggleRPC/rpcMethods.d.ts +5 -5
  157. package/esm/WiggleRPC/rpcMethods.js +5 -5
  158. package/esm/WiggleRPC/types.d.ts +1 -1
  159. package/esm/WiggleRendering.d.ts +2 -3
  160. package/esm/WiggleRendering.js +16 -3
  161. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +5 -6
  162. package/esm/XYPlotRenderer/XYPlotRenderer.js +6 -20
  163. package/esm/XYPlotRenderer/configSchema.d.ts +5 -5
  164. package/esm/XYPlotRenderer/configSchema.js +2 -2
  165. package/esm/XYPlotRenderer/index.d.ts +3 -3
  166. package/esm/XYPlotRenderer/index.js +14 -12
  167. package/esm/XYPlotRenderer/makeImageData.d.ts +3 -0
  168. package/esm/XYPlotRenderer/makeImageData.js +13 -0
  169. package/esm/XYPlotRenderer/renderXYPlot.d.ts +3 -0
  170. package/esm/XYPlotRenderer/renderXYPlot.js +23 -0
  171. package/esm/configSchema.d.ts +3 -3
  172. package/esm/configSchema.js +1 -1
  173. package/esm/drawDensity.d.ts +4 -2
  174. package/esm/drawDensity.js +25 -15
  175. package/esm/drawLine.d.ts +5 -3
  176. package/esm/drawLine.js +118 -41
  177. package/esm/drawXY.d.ts +4 -2
  178. package/esm/drawXY.js +75 -36
  179. package/esm/getMultiWiggleSourcesAutorun.d.ts +3 -2
  180. package/esm/getMultiWiggleSourcesAutorun.js +7 -2
  181. package/esm/getQuantitativeStats.d.ts +4 -2
  182. package/esm/getQuantitativeStats.js +18 -7
  183. package/esm/getQuantitativeStatsAutorun.d.ts +3 -2
  184. package/esm/getQuantitativeStatsAutorun.js +3 -3
  185. package/esm/index.d.ts +15 -19
  186. package/esm/index.js +31 -37
  187. package/esm/multiRendererHelper.d.ts +7 -0
  188. package/esm/multiRendererHelper.js +12 -0
  189. package/esm/saveTrackFormats/bedGraph.d.ts +4 -0
  190. package/esm/saveTrackFormats/bedGraph.js +11 -0
  191. package/esm/shared/SharedWiggleConfigSchema.d.ts +5 -5
  192. package/esm/shared/SharedWiggleConfigSchema.js +1 -1
  193. package/esm/shared/SharedWiggleMixin.d.ts +1081 -133
  194. package/esm/shared/SharedWiggleMixin.js +48 -26
  195. package/esm/shared/YScaleBar.d.ts +1 -1
  196. package/esm/shared/YScaleBar.js +16 -4
  197. package/esm/shared/axisPropsFromTickScale.d.ts +7 -0
  198. package/esm/shared/axisPropsFromTickScale.js +12 -0
  199. package/esm/svgExportUtil.d.ts +9 -0
  200. package/esm/svgExportUtil.js +6 -0
  201. package/esm/types.d.ts +24 -0
  202. package/esm/types.js +1 -0
  203. package/esm/util.d.ts +34 -1
  204. package/esm/util.js +60 -1
  205. package/package.json +35 -38
  206. package/dist/BigWigAdapter/BigWigAdapter.d.ts +0 -25
  207. package/dist/BigWigAdapter/BigWigAdapter.js +0 -81
  208. package/dist/BigWigAdapter/configSchema.d.ts +0 -20
  209. package/dist/BigWigAdapter/configSchema.js +0 -37
  210. package/dist/BigWigAdapter/index.d.ts +0 -2
  211. package/dist/BigWigAdapter/index.js +0 -54
  212. package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +0 -8
  213. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -26
  214. package/dist/CreateMultiWiggleExtension/index.d.ts +0 -2
  215. package/dist/CreateMultiWiggleExtension/index.js +0 -95
  216. package/dist/DensityRenderer/DensityRenderer.d.ts +0 -7
  217. package/dist/DensityRenderer/DensityRenderer.js +0 -46
  218. package/dist/DensityRenderer/configSchema.d.ts +0 -37
  219. package/dist/DensityRenderer/configSchema.js +0 -13
  220. package/dist/DensityRenderer/index.d.ts +0 -2
  221. package/dist/DensityRenderer/index.js +0 -17
  222. package/dist/GuessAdapter/index.d.ts +0 -2
  223. package/dist/GuessAdapter/index.js +0 -25
  224. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +0 -8
  225. package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -56
  226. package/dist/LinePlotRenderer/configSchema.d.ts +0 -43
  227. package/dist/LinePlotRenderer/configSchema.js +0 -19
  228. package/dist/LinePlotRenderer/index.d.ts +0 -2
  229. package/dist/LinePlotRenderer/index.js +0 -17
  230. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +0 -12
  231. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -31
  232. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +0 -15
  233. package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -32
  234. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  235. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -28
  236. package/dist/LinearWiggleDisplay/configSchema.d.ts +0 -78
  237. package/dist/LinearWiggleDisplay/configSchema.js +0 -29
  238. package/dist/LinearWiggleDisplay/index.d.ts +0 -5
  239. package/dist/LinearWiggleDisplay/index.js +0 -65
  240. package/dist/LinearWiggleDisplay/model.d.ts +0 -434
  241. package/dist/LinearWiggleDisplay/model.js +0 -262
  242. package/dist/LinearWiggleDisplay/renderSvg.d.ts +0 -3
  243. package/dist/LinearWiggleDisplay/renderSvg.js +0 -16
  244. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +0 -8
  245. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +0 -65
  246. package/dist/MultiDensityRenderer/configSchema.d.ts +0 -37
  247. package/dist/MultiDensityRenderer/configSchema.js +0 -13
  248. package/dist/MultiDensityRenderer/index.d.ts +0 -2
  249. package/dist/MultiDensityRenderer/index.js +0 -17
  250. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +0 -8
  251. package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -58
  252. package/dist/MultiLineRenderer/configSchema.d.ts +0 -49
  253. package/dist/MultiLineRenderer/configSchema.js +0 -26
  254. package/dist/MultiLineRenderer/index.d.ts +0 -2
  255. package/dist/MultiLineRenderer/index.js +0 -17
  256. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +0 -7
  257. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +0 -19
  258. package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +0 -7
  259. package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +0 -17
  260. package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +0 -7
  261. package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +0 -15
  262. package/dist/MultiLinearWiggleDisplay/components/LegendItem.d.ts +0 -11
  263. package/dist/MultiLinearWiggleDisplay/components/LegendItem.js +0 -17
  264. package/dist/MultiLinearWiggleDisplay/components/LegendItemText.d.ts +0 -10
  265. package/dist/MultiLinearWiggleDisplay/components/LegendItemText.js +0 -13
  266. package/dist/MultiLinearWiggleDisplay/components/RectBg.d.ts +0 -8
  267. package/dist/MultiLinearWiggleDisplay/components/RectBg.js +0 -9
  268. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +0 -5
  269. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.js +0 -19
  270. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +0 -9
  271. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -12
  272. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +0 -7
  273. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.js +0 -130
  274. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +0 -18
  275. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -39
  276. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +0 -6
  277. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +0 -29
  278. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +0 -7
  279. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +0 -87
  280. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +0 -7
  281. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +0 -153
  282. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +0 -8
  283. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.js +0 -2
  284. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  285. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -14
  286. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +0 -7
  287. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +0 -28
  288. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialog.d.ts +0 -31
  289. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialog.js +0 -51
  290. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.d.ts +0 -10
  291. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.js +0 -84
  292. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.d.ts +0 -1
  293. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.js +0 -7
  294. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.d.ts +0 -10
  295. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.js +0 -42
  296. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +0 -9
  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 -453
  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 -15
  307. package/dist/MultiLinearWiggleDisplay/types.js +0 -2
  308. package/dist/MultiLinearWiggleDisplay/util.d.ts +0 -0
  309. package/dist/MultiLinearWiggleDisplay/util.js +0 -1
  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 -31
  327. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -110
  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/types.d.ts +0 -13
  367. package/dist/WiggleRPC/types.js +0 -2
  368. package/dist/WiggleRendering.d.ts +0 -14
  369. package/dist/WiggleRendering.js +0 -35
  370. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +0 -7
  371. package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -61
  372. package/dist/XYPlotRenderer/configSchema.d.ts +0 -57
  373. package/dist/XYPlotRenderer/configSchema.js +0 -34
  374. package/dist/XYPlotRenderer/index.d.ts +0 -5
  375. package/dist/XYPlotRenderer/index.js +0 -24
  376. package/dist/configSchema.d.ts +0 -37
  377. package/dist/configSchema.js +0 -47
  378. package/dist/drawDensity.d.ts +0 -18
  379. package/dist/drawDensity.js +0 -81
  380. package/dist/drawLine.d.ts +0 -20
  381. package/dist/drawLine.js +0 -77
  382. package/dist/drawXY.d.ts +0 -21
  383. package/dist/drawXY.js +0 -191
  384. package/dist/getMultiWiggleSourcesAutorun.d.ts +0 -18
  385. package/dist/getMultiWiggleSourcesAutorun.js +0 -38
  386. package/dist/getQuantitativeStats.d.ts +0 -13
  387. package/dist/getQuantitativeStats.js +0 -70
  388. package/dist/getQuantitativeStatsAutorun.d.ts +0 -13
  389. package/dist/getQuantitativeStatsAutorun.js +0 -35
  390. package/dist/index.d.ts +0 -91
  391. package/dist/index.js +0 -112
  392. package/dist/shared/SetMinMaxDialog.d.ts +0 -10
  393. package/dist/shared/SetMinMaxDialog.js +0 -26
  394. package/dist/shared/SharedWiggleConfigSchema.d.ts +0 -66
  395. package/dist/shared/SharedWiggleConfigSchema.js +0 -56
  396. package/dist/shared/SharedWiggleMixin.d.ts +0 -420
  397. package/dist/shared/SharedWiggleMixin.js +0 -343
  398. package/dist/shared/YScaleBar.d.ts +0 -9
  399. package/dist/shared/YScaleBar.js +0 -12
  400. package/dist/util.d.ts +0 -25
  401. package/dist/util.js +0 -105
  402. package/esm/WiggleBaseRenderer.d.ts +0 -57
  403. package/esm/WiggleBaseRenderer.js +0 -36
@@ -2,10 +2,10 @@ import { lazy } from 'react';
2
2
  import { ConfigurationReference, getConf, readConfObject, } from '@jbrowse/core/configuration';
3
3
  import { getEnv, getSession, isSelectionContainer } from '@jbrowse/core/util';
4
4
  import { stopStopToken } from '@jbrowse/core/util/stopToken';
5
+ import { types } from '@jbrowse/mobx-state-tree';
5
6
  import { BaseLinearDisplay } from '@jbrowse/plugin-linear-genome-view';
6
- import { types } from 'mobx-state-tree';
7
- import { getNiceDomain } from '../util';
8
- const SetMinMaxDialog = lazy(() => import('./SetMinMaxDialog'));
7
+ import { getNiceDomain } from "../util.js";
8
+ const SetMinMaxDialog = lazy(() => import("./SetMinMaxDialog.js"));
9
9
  export default function SharedWiggleMixin(configSchema) {
10
10
  return types
11
11
  .compose(BaseLinearDisplay, types.model({
@@ -33,16 +33,18 @@ export default function SharedWiggleMixin(configSchema) {
33
33
  statsFetchInProgress: undefined,
34
34
  }))
35
35
  .actions(self => ({
36
- updateQuantitativeStats(stats) {
36
+ updateQuantitativeStats(stats, statsRegion) {
37
37
  const { currStatsBpPerPx, scoreMin, scoreMax } = stats;
38
38
  const EPSILON = 0.000001;
39
39
  if (!self.stats ||
40
40
  Math.abs(self.stats.scoreMax - scoreMax) > EPSILON ||
41
- Math.abs(self.stats.scoreMin - scoreMin) > EPSILON) {
41
+ Math.abs(self.stats.scoreMin - scoreMin) > EPSILON ||
42
+ self.stats.statsRegion !== statsRegion) {
42
43
  self.stats = {
43
44
  currStatsBpPerPx,
44
45
  scoreMin,
45
46
  scoreMax,
47
+ statsRegion,
46
48
  };
47
49
  }
48
50
  },
@@ -117,23 +119,20 @@ export default function SharedWiggleMixin(configSchema) {
117
119
  return self.adapterConfig.type;
118
120
  },
119
121
  get rendererTypeNameSimple() {
120
- var _a;
121
- return ((_a = self.rendererTypeNameState) !== null && _a !== void 0 ? _a : getConf(self, 'defaultRendering'));
122
+ return (self.rendererTypeNameState ??
123
+ getConf(self, 'defaultRendering'));
122
124
  },
123
125
  get filters() {
124
126
  return undefined;
125
127
  },
126
128
  get scaleType() {
127
- var _a;
128
- return (_a = self.scale) !== null && _a !== void 0 ? _a : getConf(self, 'scaleType');
129
+ return self.scale ?? getConf(self, 'scaleType');
129
130
  },
130
131
  get maxScore() {
131
- var _a;
132
- return (_a = self.constraints.max) !== null && _a !== void 0 ? _a : getConf(self, 'maxScore');
132
+ return self.constraints.max ?? getConf(self, 'maxScore');
133
133
  },
134
134
  get minScore() {
135
- var _a;
136
- return (_a = self.constraints.min) !== null && _a !== void 0 ? _a : getConf(self, 'minScore');
135
+ return self.constraints.min ?? getConf(self, 'minScore');
137
136
  },
138
137
  }))
139
138
  .views(self => ({
@@ -145,23 +144,20 @@ export default function SharedWiggleMixin(configSchema) {
145
144
  get rendererConfig() {
146
145
  const { color, displayCrossHatches, fill, minSize, negColor, posColor, summaryScoreMode, scaleType, rendererTypeName, } = self;
147
146
  const configBlob = getConf(self, ['renderers', rendererTypeName]) || {};
148
- return self.rendererType.configSchema.create({
147
+ return {
149
148
  ...configBlob,
150
149
  ...(scaleType ? { scaleType } : {}),
151
150
  ...(fill !== undefined ? { filled: fill } : {}),
152
- ...(displayCrossHatches !== undefined
153
- ? { displayCrossHatches }
154
- : {}),
151
+ ...(displayCrossHatches !== undefined ? { displayCrossHatches } : {}),
155
152
  ...(summaryScoreMode !== undefined ? { summaryScoreMode } : {}),
156
153
  ...(color !== undefined ? { color } : {}),
157
154
  ...(negColor !== undefined ? { negColor } : {}),
158
155
  ...(posColor !== undefined ? { posColor } : {}),
159
156
  ...(minSize !== undefined ? { minSize } : {}),
160
- }, getEnv(self));
157
+ };
161
158
  },
162
159
  get autoscaleType() {
163
- var _a;
164
- return (_a = self.autoscale) !== null && _a !== void 0 ? _a : getConf(self, 'autoscale');
160
+ return self.autoscale ?? getConf(self, 'autoscale');
165
161
  },
166
162
  }))
167
163
  .views(self => {
@@ -189,12 +185,12 @@ export default function SharedWiggleMixin(configSchema) {
189
185
  })
190
186
  .views(self => ({
191
187
  get filled() {
192
- var _a;
193
- return ((_a = self.fill) !== null && _a !== void 0 ? _a : readConfObject(self.rendererConfig, 'filled'));
188
+ return (self.fill ??
189
+ readConfObject(self.rendererConfig, 'filled'));
194
190
  },
195
191
  get summaryScoreModeSetting() {
196
- var _a;
197
- return ((_a = self.summaryScoreMode) !== null && _a !== void 0 ? _a : readConfObject(self.rendererConfig, 'summaryScoreMode'));
192
+ return (self.summaryScoreMode ??
193
+ readConfObject(self.rendererConfig, 'summaryScoreMode'));
198
194
  },
199
195
  get scaleOpts() {
200
196
  return {
@@ -209,8 +205,8 @@ export default function SharedWiggleMixin(configSchema) {
209
205
  return self.rendererTypeName === 'XYPlotRenderer';
210
206
  },
211
207
  get displayCrossHatchesSetting() {
212
- var _a;
213
- return ((_a = self.displayCrossHatches) !== null && _a !== void 0 ? _a : readConfObject(self.rendererConfig, 'displayCrossHatches'));
208
+ return (self.displayCrossHatches ??
209
+ readConfObject(self.rendererConfig, 'displayCrossHatches'));
214
210
  },
215
211
  get hasResolution() {
216
212
  return self.adapterCapabilities.includes('hasResolution');
@@ -303,5 +299,31 @@ export default function SharedWiggleMixin(configSchema) {
303
299
  superReload();
304
300
  },
305
301
  };
302
+ })
303
+ .postProcessSnapshot(snap => {
304
+ if (!snap) {
305
+ return snap;
306
+ }
307
+ const { selectedRendering, resolution, fill, minSize, color, posColor, negColor, summaryScoreMode, rendererTypeNameState, scale, autoscale, displayCrossHatches, constraints, ...rest } = snap;
308
+ return {
309
+ ...rest,
310
+ ...(selectedRendering ? { selectedRendering } : {}),
311
+ ...(resolution !== 1 ? { resolution } : {}),
312
+ ...(fill !== undefined ? { fill } : {}),
313
+ ...(minSize !== undefined ? { minSize } : {}),
314
+ ...(color !== undefined ? { color } : {}),
315
+ ...(posColor !== undefined ? { posColor } : {}),
316
+ ...(negColor !== undefined ? { negColor } : {}),
317
+ ...(summaryScoreMode !== undefined ? { summaryScoreMode } : {}),
318
+ ...(rendererTypeNameState !== undefined
319
+ ? { rendererTypeNameState }
320
+ : {}),
321
+ ...(scale !== undefined ? { scale } : {}),
322
+ ...(autoscale !== undefined ? { autoscale } : {}),
323
+ ...(displayCrossHatches !== undefined ? { displayCrossHatches } : {}),
324
+ ...(constraints.min !== undefined || constraints.max !== undefined
325
+ ? { constraints }
326
+ : {}),
327
+ };
306
328
  });
307
329
  }
@@ -1,4 +1,4 @@
1
- import type { axisPropsFromTickScale } from 'react-d3-axis-mod';
1
+ import type axisPropsFromTickScale from './axisPropsFromTickScale.ts';
2
2
  type Ticks = ReturnType<typeof axisPropsFromTickScale>;
3
3
  declare const YScaleBar: ({ model, orientation, }: {
4
4
  model: {
@@ -1,10 +1,22 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useTheme } from '@mui/material';
3
3
  import { observer } from 'mobx-react';
4
- import { Axis, LEFT, RIGHT } from 'react-d3-axis-mod';
5
- const YScaleBar = observer(function ({ model, orientation, }) {
4
+ const YScaleBar = observer(function YScaleBar({ model, orientation, }) {
6
5
  const { ticks } = model;
7
6
  const theme = useTheme();
8
- return ticks ? (_jsx(Axis, { ...ticks, shadow: 2, format: (n) => n, style: { orient: orientation === 'left' ? LEFT : RIGHT }, bg: theme.palette.background.default, fg: theme.palette.text.primary })) : null;
7
+ if (!ticks) {
8
+ return null;
9
+ }
10
+ const { range, values, position } = ticks;
11
+ const bg = theme.palette.background.default;
12
+ const fg = theme.palette.text.primary;
13
+ const isLeft = orientation === 'left';
14
+ const k = isLeft ? -1 : 1;
15
+ const range0 = range[0] + 0.5;
16
+ const range1 = range[1] + 0.5;
17
+ return (_jsxs("g", { fill: "none", fontSize: 10, fontFamily: "sans-serif", textAnchor: isLeft ? 'end' : 'start', strokeWidth: 1, children: [_jsx("path", { stroke: fg, d: `M${k * 6},${range0}H0.5V${range1}H${k * 6}` }), values.map((v, idx) => {
18
+ const pos = position(v);
19
+ return (_jsxs("g", { transform: `translate(0,${Number.isFinite(pos) ? pos : 0})`, children: [_jsx("line", { stroke: fg, x2: k * 6, y1: 0.5, y2: 0.5 }), _jsx("text", { stroke: bg, strokeWidth: 2.5, paintOrder: "stroke", fill: fg, dy: "0.32em", x: k * 9, y: 0.5, children: v })] }, idx));
20
+ })] }));
9
21
  });
10
22
  export default YScaleBar;
@@ -0,0 +1,7 @@
1
+ import type { ScaleLinear, ScaleQuantize } from '@mui/x-charts-vendor/d3-scale';
2
+ export default function axisPropsFromTickScale(scale: ScaleLinear<number, number> | ScaleQuantize<number>, tickCount: number): {
3
+ range: number[];
4
+ values: number[];
5
+ format: (d: import("d3-scale").NumberValue) => string;
6
+ position: ScaleLinear<number, number, never> | ScaleQuantize<number, never>;
7
+ };
@@ -0,0 +1,12 @@
1
+ export default function axisPropsFromTickScale(scale, tickCount) {
2
+ const range = scale.range();
3
+ const values = scale.ticks(tickCount);
4
+ const format = scale.tickFormat(tickCount);
5
+ const position = scale.copy();
6
+ return {
7
+ range,
8
+ values,
9
+ format,
10
+ position,
11
+ };
12
+ }
@@ -0,0 +1,9 @@
1
+ export declare function isReadyOrHasError(display: {
2
+ renderProps(): {
3
+ notReady?: boolean;
4
+ };
5
+ error?: unknown;
6
+ }): boolean;
7
+ export declare function hasAnySubDisplayError(displays: {
8
+ error?: unknown;
9
+ }[]): boolean;
@@ -0,0 +1,6 @@
1
+ export function isReadyOrHasError(display) {
2
+ return !display.renderProps().notReady || !!display.error;
3
+ }
4
+ export function hasAnySubDisplayError(displays) {
5
+ return displays.some(d => !!d.error);
6
+ }
package/esm/types.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ import type { ScaleOpts, Source } from './util.ts';
2
+ import type { RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
3
+ import type { Feature } from '@jbrowse/core/util';
4
+ import type { ThemeOptions } from '@mui/material';
5
+ export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
6
+ bpPerPx: number;
7
+ height: number;
8
+ highResolutionScaling: number;
9
+ scaleOpts: ScaleOpts;
10
+ displayCrossHatches: boolean;
11
+ ticks: {
12
+ values: number[];
13
+ };
14
+ inverted: boolean;
15
+ themeOptions: ThemeOptions;
16
+ statusCallback?: (arg: string) => void;
17
+ offset?: number;
18
+ }
19
+ export interface RenderArgsDeserializedWithFeatures extends RenderArgsDeserialized {
20
+ features: Map<string, Feature>;
21
+ }
22
+ export interface MultiRenderArgsDeserialized extends RenderArgsDeserializedWithFeatures {
23
+ sources: Source[];
24
+ }
package/esm/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/esm/util.d.ts CHANGED
@@ -1,4 +1,10 @@
1
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import type { Feature } from '@jbrowse/core/util';
1
3
  export declare const YSCALEBAR_LABEL_OFFSET = 5;
4
+ export declare const WIGGLE_COLOR_DEFAULT = "#f0f";
5
+ export declare function getColorCallback(config: AnyConfigurationModel, opts?: {
6
+ defaultColor?: string;
7
+ }): (_feature: Feature, score: number) => any;
2
8
  export interface ScaleOpts {
3
9
  domain: number[];
4
10
  range: number[];
@@ -14,12 +20,39 @@ export interface Source {
14
20
  group?: string;
15
21
  }
16
22
  export declare function getScale({ domain, range, scaleType, pivotValue, inverted, }: ScaleOpts): import("d3-scale").ScaleLinear<number, number, never> | import("d3-scale").ScaleLogarithmic<number, number, never> | import("d3-scale").ScaleQuantize<number, never>;
17
- export declare function getOrigin(scaleType: string): 1 | 0;
23
+ export declare function getOrigin(scaleType: string): 0 | 1;
18
24
  export declare function getNiceDomain({ scaleType, domain, bounds, }: {
19
25
  scaleType: string;
20
26
  domain: readonly [number, number];
21
27
  bounds: readonly [number | undefined, number | undefined];
22
28
  }): [number, number];
23
29
  export declare function toP(s?: number): number;
30
+ export declare function serializeWiggleFeature(f: {
31
+ get: (key: string) => unknown;
32
+ id: () => string;
33
+ }): {
34
+ uniqueId: string;
35
+ start: unknown;
36
+ end: unknown;
37
+ score: unknown;
38
+ source: unknown;
39
+ refName: unknown;
40
+ maxScore: unknown;
41
+ minScore: unknown;
42
+ summary: unknown;
43
+ };
24
44
  export declare function round(value: number): number;
45
+ export declare const WIGGLE_FUDGE_FACTOR = 0.3;
46
+ export declare const WIGGLE_CLIP_HEIGHT = 2;
47
+ export interface ScaleValues {
48
+ niceMin: number;
49
+ niceMax: number;
50
+ height: number;
51
+ linearRatio: number;
52
+ log2: number;
53
+ logMin: number;
54
+ logRatio: number;
55
+ isLog: boolean;
56
+ }
57
+ export declare function getScaleValues(scaleOpts: ScaleOpts, height: number): ScaleValues;
25
58
  export declare function fillRectCtx(x: number, y: number, width: number, height: number, ctx: CanvasRenderingContext2D, color?: string): void;
package/esm/util.js CHANGED
@@ -1,6 +1,26 @@
1
+ import { readConfObject } from '@jbrowse/core/configuration';
1
2
  import { scaleLinear, scaleLog, scaleQuantize, } from '@mui/x-charts-vendor/d3-scale';
2
3
  export const YSCALEBAR_LABEL_OFFSET = 5;
3
- export function getScale({ domain = [], range = [], scaleType, pivotValue, inverted, }) {
4
+ export const WIGGLE_COLOR_DEFAULT = '#f0f';
5
+ export function getColorCallback(config, opts) {
6
+ const color = readConfObject(config, 'color');
7
+ const colorIsCallback = config.color?.isCallback;
8
+ const colorIsDefault = color === WIGGLE_COLOR_DEFAULT;
9
+ if (colorIsCallback) {
10
+ return (feature) => readConfObject(config, 'color', { feature });
11
+ }
12
+ if (!colorIsDefault) {
13
+ return () => color;
14
+ }
15
+ if (opts?.defaultColor) {
16
+ return () => opts.defaultColor;
17
+ }
18
+ const pivotValue = readConfObject(config, 'bicolorPivotValue');
19
+ const negColor = readConfObject(config, 'negColor');
20
+ const posColor = readConfObject(config, 'posColor');
21
+ return (_feature, score) => score < pivotValue ? negColor : posColor;
22
+ }
23
+ export function getScale({ domain, range, scaleType, pivotValue, inverted, }) {
4
24
  let scale;
5
25
  const [min, max] = domain;
6
26
  if (min === undefined || max === undefined) {
@@ -77,9 +97,48 @@ export function getNiceDomain({ scaleType, domain, bounds, }) {
77
97
  export function toP(s = 0) {
78
98
  return +s.toPrecision(6);
79
99
  }
100
+ export function serializeWiggleFeature(f) {
101
+ return {
102
+ uniqueId: f.id(),
103
+ start: f.get('start'),
104
+ end: f.get('end'),
105
+ score: f.get('score'),
106
+ source: f.get('source'),
107
+ refName: f.get('refName'),
108
+ maxScore: f.get('maxScore'),
109
+ minScore: f.get('minScore'),
110
+ summary: f.get('summary'),
111
+ };
112
+ }
80
113
  export function round(value) {
81
114
  return Math.round(value * 1e5) / 1e5;
82
115
  }
116
+ export const WIGGLE_FUDGE_FACTOR = 0.3;
117
+ export const WIGGLE_CLIP_HEIGHT = 2;
118
+ export function getScaleValues(scaleOpts, height) {
119
+ const scale = getScale({ ...scaleOpts, range: [0, height] });
120
+ const domain = scale.domain();
121
+ const niceMin = domain[0];
122
+ const niceMax = domain[1];
123
+ const domainSpan = niceMax - niceMin;
124
+ const isLog = scaleOpts.scaleType === 'log';
125
+ const linearRatio = domainSpan !== 0 ? height / domainSpan : 0;
126
+ const log2 = Math.log(2);
127
+ const logMin = Math.log(niceMin) / log2;
128
+ const logMax = Math.log(niceMax) / log2;
129
+ const logSpan = logMax - logMin;
130
+ const logRatio = logSpan !== 0 ? height / logSpan : 0;
131
+ return {
132
+ niceMin,
133
+ niceMax,
134
+ height,
135
+ linearRatio,
136
+ log2,
137
+ logMin,
138
+ logRatio,
139
+ isLog,
140
+ };
141
+ }
83
142
  export function fillRectCtx(x, y, width, height, ctx, color) {
84
143
  if (width < 0) {
85
144
  x += width;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-wiggle",
3
- "version": "3.7.0",
3
+ "version": "4.0.0",
4
4
  "description": "JBrowse 2 wiggle adapters, tracks, etc.",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -15,43 +15,29 @@
15
15
  "directory": "plugins/wiggle"
16
16
  },
17
17
  "author": "JBrowse Team",
18
- "distMain": "dist/index.js",
19
- "srcMain": "src/index.ts",
20
- "main": "dist/index.js",
18
+ "main": "esm/index.js",
21
19
  "files": [
22
- "dist",
23
20
  "esm"
24
21
  ],
25
- "scripts": {
26
- "build": "npm-run-all build:*",
27
- "test": "cd ../..; jest --passWithNoTests plugins/wiggle",
28
- "prepublishOnly": "yarn test",
29
- "prepack": "yarn build && yarn useDist",
30
- "postpack": "yarn useSrc",
31
- "useDist": "node ../../scripts/useDist.js",
32
- "useSrc": "node ../../scripts/useSrc.js",
33
- "prebuild": "npm run clean",
34
- "build:esm": "tsc --build tsconfig.build.esm.json",
35
- "build:commonjs": "tsc --build tsconfig.build.commonjs.json",
36
- "clean": "rimraf dist esm *.tsbuildinfo"
37
- },
38
22
  "dependencies": {
39
- "@gmod/bbi": "^7.0.0",
40
- "@jbrowse/core": "^3.7.0",
41
- "@jbrowse/plugin-data-management": "^3.7.0",
42
- "@jbrowse/plugin-linear-genome-view": "^3.7.0",
43
- "@mui/icons-material": "^7.0.0",
44
- "@mui/material": "^7.0.0",
45
- "@mui/x-charts-vendor": "^8.0.0",
46
- "@mui/x-data-grid": "^8.0.0",
23
+ "@gmod/bbi": "^8.1.1",
24
+ "@gmod/hclust": "^1.0.7",
25
+ "@jbrowse/mobx-state-tree": "^5.5.0",
26
+ "@mui/icons-material": "^7.3.6",
27
+ "@mui/material": "^7.3.6",
28
+ "@mui/x-charts-vendor": "^8.23.0",
29
+ "@mui/x-data-grid": "^8.23.0",
30
+ "colord": "^2.9.3",
31
+ "copy-to-clipboard": "^3.3.3",
47
32
  "fast-deep-equal": "^3.1.3",
48
- "mobx": "^6.0.0",
49
- "mobx-react": "^9.0.0",
50
- "mobx-state-tree": "^5.0.0",
51
- "react-d3-axis-mod": "^0.1.9",
52
- "react-draggable": "^4.4.5",
53
- "rxjs": "^7.0.0",
54
- "tss-react": "^4.0.0"
33
+ "@types/file-saver-es": "^2.0.3",
34
+ "file-saver-es": "^2.0.5",
35
+ "mobx": "^6.15.0",
36
+ "mobx-react": "^9.2.1",
37
+ "rxjs": "^7.8.2",
38
+ "@jbrowse/plugin-data-management": "^4.0.0",
39
+ "@jbrowse/plugin-linear-genome-view": "^4.0.0",
40
+ "@jbrowse/core": "^4.0.0"
55
41
  },
56
42
  "peerDependencies": {
57
43
  "react": ">=18.0.0"
@@ -59,8 +45,19 @@
59
45
  "publishConfig": {
60
46
  "access": "public"
61
47
  },
62
- "distModule": "esm/index.js",
63
- "srcModule": "src/index.ts",
64
- "module": "esm/index.js",
65
- "gitHead": "85bdd0d58286b7adbfd408146b15847676317635"
66
- }
48
+ "sideEffects": false,
49
+ "scripts": {
50
+ "build": "pnpm run /^build:/",
51
+ "test": "cd ../..; jest --passWithNoTests plugins/wiggle",
52
+ "prebuild": "pnpm clean",
53
+ "build:esm": "tsc -p tsconfig.build.esm.json",
54
+ "clean": "rimraf esm *.tsbuildinfo"
55
+ },
56
+ "types": "esm/index.d.ts",
57
+ "exports": {
58
+ ".": {
59
+ "types": "./esm/index.d.ts",
60
+ "import": "./esm/index.js"
61
+ }
62
+ }
63
+ }
@@ -1,25 +0,0 @@
1
- import { BigWig } from '@gmod/bbi';
2
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
- import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
4
- import type { Feature } from '@jbrowse/core/util';
5
- import type { AugmentedRegion as Region } from '@jbrowse/core/util/types';
6
- interface WiggleOptions extends BaseOptions {
7
- resolution?: number;
8
- }
9
- export default class BigWigAdapter extends BaseFeatureDataAdapter {
10
- private setupP?;
11
- static capabilities: string[];
12
- private setupPre;
13
- setup(opts?: BaseOptions): Promise<{
14
- bigwig: BigWig;
15
- header: Awaited<ReturnType<BigWig["getHeader"]>>;
16
- }>;
17
- getRefNames(opts?: BaseOptions): Promise<string[]>;
18
- refIdToName(refId: number): Promise<string | undefined>;
19
- getGlobalStats(opts?: BaseOptions): Promise<import("@jbrowse/core/util/stats").QuantitativeStats>;
20
- getFeatures(region: Region, opts?: WiggleOptions): import("rxjs").Observable<Feature>;
21
- getMultiRegionFeatureDensityStats(_regions: Region[]): Promise<{
22
- featureDensity: number;
23
- }>;
24
- }
25
- export {};
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const bbi_1 = require("@gmod/bbi");
4
- const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
5
- const util_1 = require("@jbrowse/core/util");
6
- const io_1 = require("@jbrowse/core/util/io");
7
- const rxjs_1 = require("@jbrowse/core/util/rxjs");
8
- const stats_1 = require("@jbrowse/core/util/stats");
9
- class BigWigAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
10
- async setupPre(opts) {
11
- const { statusCallback = () => { } } = opts || {};
12
- const pluginManager = this.pluginManager;
13
- const bigwig = new bbi_1.BigWig({
14
- filehandle: (0, io_1.openLocation)(this.getConf('bigWigLocation'), pluginManager),
15
- });
16
- return {
17
- bigwig,
18
- header: await (0, util_1.updateStatus)('Downloading bigwig header', statusCallback, () => bigwig.getHeader(opts)),
19
- };
20
- }
21
- async setup(opts) {
22
- if (!this.setupP) {
23
- this.setupP = this.setupPre(opts).catch((e) => {
24
- this.setupP = undefined;
25
- throw e;
26
- });
27
- }
28
- return this.setupP;
29
- }
30
- async getRefNames(opts) {
31
- const { header } = await this.setup(opts);
32
- return Object.keys(header.refsByName);
33
- }
34
- async refIdToName(refId) {
35
- var _a;
36
- const { header } = await this.setup();
37
- return (_a = header.refsByNumber[refId]) === null || _a === void 0 ? void 0 : _a.name;
38
- }
39
- async getGlobalStats(opts) {
40
- const { header } = await this.setup(opts);
41
- return (0, stats_1.rectifyStats)(header.totalSummary);
42
- }
43
- getFeatures(region, opts = {}) {
44
- const { refName, start, end } = region;
45
- const { bpPerPx = 0, resolution = 1, stopToken, statusCallback = () => { }, } = opts;
46
- return (0, rxjs_1.ObservableCreate)(async (observer) => {
47
- const source = this.getConf('source');
48
- const resolutionMultiplier = this.getConf('resolutionMultiplier');
49
- const { bigwig } = await this.setup(opts);
50
- const feats = await (0, util_1.updateStatus)('Downloading bigwig data', statusCallback, () => bigwig.getFeatures(refName, start, end, {
51
- ...opts,
52
- basesPerSpan: (bpPerPx / resolution) * resolutionMultiplier,
53
- }));
54
- for (const data of feats) {
55
- if (source) {
56
- data.source = source;
57
- }
58
- const uniqueId = `${source}:${region.refName}:${data.start}-${data.end}`;
59
- data.refName = refName;
60
- data.uniqueId = uniqueId;
61
- observer.next({
62
- get: (str) => data[str],
63
- id: () => uniqueId,
64
- toJSON: () => data,
65
- });
66
- }
67
- observer.complete();
68
- }, stopToken);
69
- }
70
- async getMultiRegionFeatureDensityStats(_regions) {
71
- return {
72
- featureDensity: 0,
73
- };
74
- }
75
- }
76
- BigWigAdapter.capabilities = [
77
- 'hasResolution',
78
- 'hasLocalStats',
79
- 'hasGlobalStats',
80
- ];
81
- exports.default = BigWigAdapter;
@@ -1,20 +0,0 @@
1
- declare const BigWigAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- bigWigLocation: {
3
- type: string;
4
- defaultValue: {
5
- uri: string;
6
- locationType: string;
7
- };
8
- };
9
- source: {
10
- type: string;
11
- defaultValue: string;
12
- description: string;
13
- };
14
- resolutionMultiplier: {
15
- type: string;
16
- defaultValue: number;
17
- description: string;
18
- };
19
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
20
- export default BigWigAdapter;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const configuration_1 = require("@jbrowse/core/configuration");
4
- function x() { }
5
- const BigWigAdapter = (0, configuration_1.ConfigurationSchema)('BigWigAdapter', {
6
- bigWigLocation: {
7
- type: 'fileLocation',
8
- defaultValue: {
9
- uri: '/path/to/my.bw',
10
- locationType: 'UriLocation',
11
- },
12
- },
13
- source: {
14
- type: 'string',
15
- defaultValue: '',
16
- description: 'Used for multiwiggle',
17
- },
18
- resolutionMultiplier: {
19
- type: 'number',
20
- defaultValue: 1,
21
- description: 'Initial resolution multiplier',
22
- },
23
- }, {
24
- explicitlyTyped: true,
25
- preProcessSnapshot: snap => {
26
- return snap.uri
27
- ? {
28
- ...snap,
29
- bigWigLocation: {
30
- uri: snap.uri,
31
- baseUri: snap.baseUri,
32
- },
33
- }
34
- : snap;
35
- },
36
- });
37
- exports.default = BigWigAdapter;
@@ -1,2 +0,0 @@
1
- import type PluginManager from '@jbrowse/core/PluginManager';
2
- export default function BigWigAdapterF(pluginManager: PluginManager): void;