@jbrowse/plugin-wiggle 2.16.1 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.d.ts +4 -3
  2. package/dist/BigWigAdapter/BigWigAdapter.js +3 -8
  3. package/dist/BigWigAdapter/configSchema.d.ts +0 -9
  4. package/dist/BigWigAdapter/configSchema.js +1 -13
  5. package/dist/BigWigAdapter/index.d.ts +1 -1
  6. package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +1 -1
  7. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +2 -2
  8. package/dist/CreateMultiWiggleExtension/index.d.ts +1 -1
  9. package/dist/CreateMultiWiggleExtension/index.js +26 -26
  10. package/dist/DensityRenderer/DensityRenderer.d.ts +2 -1
  11. package/dist/DensityRenderer/DensityRenderer.js +1 -1
  12. package/dist/DensityRenderer/configSchema.js +1 -7
  13. package/dist/DensityRenderer/index.d.ts +1 -1
  14. package/dist/DensityRenderer/index.js +1 -1
  15. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +3 -2
  16. package/dist/LinePlotRenderer/LinePlotRenderer.js +1 -1
  17. package/dist/LinePlotRenderer/configSchema.d.ts +0 -3
  18. package/dist/LinePlotRenderer/configSchema.js +1 -10
  19. package/dist/LinePlotRenderer/index.d.ts +1 -1
  20. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +2 -2
  21. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
  22. package/dist/LinearWiggleDisplay/components/Tooltip.js +1 -2
  23. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  24. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
  25. package/dist/LinearWiggleDisplay/{models/configSchema.d.ts → configSchema.d.ts} +1 -12
  26. package/dist/LinearWiggleDisplay/{models/configSchema.js → configSchema.js} +2 -17
  27. package/dist/LinearWiggleDisplay/index.d.ts +2 -2
  28. package/dist/LinearWiggleDisplay/index.js +4 -4
  29. package/{esm/LinearWiggleDisplay/models → dist/LinearWiggleDisplay}/model.d.ts +21 -63
  30. package/dist/LinearWiggleDisplay/{models/model.js → model.js} +66 -80
  31. package/dist/LinearWiggleDisplay/{models/renderSvg.d.ts → renderSvg.d.ts} +2 -2
  32. package/dist/LinearWiggleDisplay/{models/renderSvg.js → renderSvg.js} +2 -2
  33. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +4 -3
  34. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +2 -3
  35. package/dist/MultiDensityRenderer/configSchema.js +1 -7
  36. package/dist/MultiDensityRenderer/index.d.ts +1 -1
  37. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +3 -2
  38. package/dist/MultiLineRenderer/MultiLineRenderer.js +1 -2
  39. package/dist/MultiLineRenderer/configSchema.d.ts +0 -6
  40. package/dist/MultiLineRenderer/configSchema.js +1 -13
  41. package/dist/MultiLineRenderer/index.d.ts +1 -1
  42. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +1 -1
  43. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +0 -1
  44. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +1 -1
  45. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +3 -7
  46. package/dist/MultiLinearWiggleDisplay/components/RectBg.js +1 -1
  47. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +1 -1
  48. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +1 -1
  49. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +3 -5
  50. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +1 -1
  51. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.js +15 -26
  52. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +3 -3
  53. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +1 -2
  54. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  55. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +1 -1
  56. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +1 -1
  57. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +1 -1
  58. package/dist/MultiLinearWiggleDisplay/components/util.js +1 -1
  59. package/dist/MultiLinearWiggleDisplay/{models/configSchema.d.ts → configSchema.d.ts} +1 -10
  60. package/dist/MultiLinearWiggleDisplay/{models/configSchema.js → configSchema.js} +3 -21
  61. package/dist/MultiLinearWiggleDisplay/index.d.ts +1 -1
  62. package/dist/MultiLinearWiggleDisplay/index.js +3 -3
  63. package/dist/MultiLinearWiggleDisplay/{models/model.d.ts → model.d.ts} +25 -129
  64. package/dist/MultiLinearWiggleDisplay/{models/model.js → model.js} +108 -183
  65. package/dist/MultiLinearWiggleDisplay/{models/renderSvg.d.ts → renderSvg.d.ts} +2 -2
  66. package/dist/MultiLinearWiggleDisplay/{models/renderSvg.js → renderSvg.js} +2 -2
  67. package/dist/MultiQuantitativeTrack/configSchema.d.ts +1 -1
  68. package/dist/MultiQuantitativeTrack/configSchema.js +1 -7
  69. package/dist/MultiQuantitativeTrack/index.d.ts +1 -1
  70. package/dist/MultiQuantitativeTrack/index.js +1 -1
  71. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +3 -2
  72. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
  73. package/dist/MultiRowLineRenderer/configSchema.d.ts +0 -6
  74. package/dist/MultiRowLineRenderer/configSchema.js +2 -14
  75. package/dist/MultiRowLineRenderer/index.d.ts +1 -1
  76. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +3 -2
  77. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
  78. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +0 -12
  79. package/dist/MultiRowXYPlotRenderer/configSchema.js +3 -21
  80. package/dist/MultiRowXYPlotRenderer/index.d.ts +1 -1
  81. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +5 -4
  82. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +12 -15
  83. package/dist/MultiWiggleAdapter/configSchema.d.ts +0 -6
  84. package/dist/MultiWiggleAdapter/configSchema.js +1 -10
  85. package/dist/MultiWiggleAdapter/index.d.ts +1 -1
  86. package/dist/MultiWiggleAdapter/index.js +1 -1
  87. package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +1 -1
  88. package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +2 -4
  89. package/dist/MultiWiggleAddTrackWorkflow/index.d.ts +1 -1
  90. package/dist/MultiWiggleAddTrackWorkflow/index.js +1 -2
  91. package/dist/MultiWiggleRendering.d.ts +3 -3
  92. package/dist/MultiWiggleRendering.js +2 -2
  93. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +3 -2
  94. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +1 -2
  95. package/dist/MultiXYPlotRenderer/configSchema.d.ts +0 -12
  96. package/dist/MultiXYPlotRenderer/configSchema.js +2 -20
  97. package/dist/MultiXYPlotRenderer/index.d.ts +1 -1
  98. package/dist/QuantitativeTrack/configSchema.d.ts +1 -1
  99. package/dist/QuantitativeTrack/configSchema.js +1 -7
  100. package/dist/QuantitativeTrack/index.d.ts +1 -1
  101. package/dist/QuantitativeTrack/index.js +1 -1
  102. package/dist/Tooltip.d.ts +1 -1
  103. package/dist/Tooltip.js +1 -2
  104. package/dist/WiggleBaseRenderer.d.ts +6 -9
  105. package/dist/WiggleBaseRenderer.js +0 -1
  106. package/dist/WiggleRPC/MultiWiggleGetSources.d.ts +5 -12
  107. package/dist/WiggleRPC/MultiWiggleGetSources.js +2 -29
  108. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +5 -7
  109. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +2 -15
  110. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +4 -11
  111. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +2 -29
  112. package/dist/WiggleRendering.d.ts +2 -2
  113. package/dist/WiggleRendering.js +1 -3
  114. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +3 -2
  115. package/dist/XYPlotRenderer/XYPlotRenderer.js +3 -5
  116. package/dist/XYPlotRenderer/configSchema.d.ts +0 -12
  117. package/dist/XYPlotRenderer/configSchema.js +3 -21
  118. package/dist/XYPlotRenderer/index.d.ts +1 -1
  119. package/dist/configSchema.d.ts +0 -18
  120. package/dist/configSchema.js +1 -23
  121. package/dist/drawDensity.d.ts +3 -3
  122. package/dist/drawDensity.js +0 -4
  123. package/dist/drawLine.d.ts +3 -3
  124. package/dist/drawLine.js +0 -5
  125. package/dist/drawXY.d.ts +4 -3
  126. package/dist/drawXY.js +28 -12
  127. package/dist/getMultiWiggleSourcesAutorun.d.ts +17 -0
  128. package/dist/getMultiWiggleSourcesAutorun.js +38 -0
  129. package/dist/getQuantitativeStats.d.ts +13 -0
  130. package/dist/getQuantitativeStats.js +70 -0
  131. package/dist/getQuantitativeStatsAutorun.d.ts +13 -0
  132. package/dist/getQuantitativeStatsAutorun.js +35 -0
  133. package/dist/index.d.ts +6 -6
  134. package/dist/index.js +21 -24
  135. package/dist/shared/SetMinMaxDialog.js +1 -1
  136. package/{esm/shared/configShared.d.ts → dist/shared/SharedWiggleConfigSchema.d.ts} +0 -26
  137. package/dist/shared/{configShared.js → SharedWiggleConfigSchema.js} +1 -30
  138. package/{esm/shared/modelShared.d.ts → dist/shared/SharedWiggleMixin.d.ts} +22 -213
  139. package/dist/shared/{modelShared.js → SharedWiggleMixin.js} +15 -174
  140. package/dist/util.d.ts +1 -53
  141. package/dist/util.js +1 -141
  142. package/esm/BigWigAdapter/BigWigAdapter.d.ts +4 -3
  143. package/esm/BigWigAdapter/BigWigAdapter.js +5 -10
  144. package/esm/BigWigAdapter/configSchema.d.ts +0 -9
  145. package/esm/BigWigAdapter/configSchema.js +1 -13
  146. package/esm/BigWigAdapter/index.d.ts +1 -1
  147. package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +1 -1
  148. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +2 -2
  149. package/esm/CreateMultiWiggleExtension/index.d.ts +1 -1
  150. package/esm/CreateMultiWiggleExtension/index.js +26 -26
  151. package/esm/DensityRenderer/DensityRenderer.d.ts +2 -1
  152. package/esm/DensityRenderer/DensityRenderer.js +1 -1
  153. package/esm/DensityRenderer/configSchema.js +1 -7
  154. package/esm/DensityRenderer/index.d.ts +1 -1
  155. package/esm/DensityRenderer/index.js +1 -1
  156. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +3 -2
  157. package/esm/LinePlotRenderer/LinePlotRenderer.js +1 -1
  158. package/esm/LinePlotRenderer/configSchema.d.ts +0 -3
  159. package/esm/LinePlotRenderer/configSchema.js +1 -10
  160. package/esm/LinePlotRenderer/index.d.ts +1 -1
  161. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +2 -2
  162. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
  163. package/esm/LinearWiggleDisplay/components/Tooltip.js +1 -2
  164. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  165. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +3 -3
  166. package/esm/LinearWiggleDisplay/{models/configSchema.d.ts → configSchema.d.ts} +1 -12
  167. package/esm/LinearWiggleDisplay/{models/configSchema.js → configSchema.js} +1 -16
  168. package/esm/LinearWiggleDisplay/index.d.ts +2 -2
  169. package/esm/LinearWiggleDisplay/index.js +4 -4
  170. package/{dist/LinearWiggleDisplay/models → esm/LinearWiggleDisplay}/model.d.ts +21 -63
  171. package/esm/LinearWiggleDisplay/{models/model.js → model.js} +67 -81
  172. package/esm/LinearWiggleDisplay/{models/renderSvg.d.ts → renderSvg.d.ts} +2 -2
  173. package/esm/LinearWiggleDisplay/{models/renderSvg.js → renderSvg.js} +2 -2
  174. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +4 -3
  175. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +1 -2
  176. package/esm/MultiDensityRenderer/configSchema.js +1 -7
  177. package/esm/MultiDensityRenderer/index.d.ts +1 -1
  178. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +3 -2
  179. package/esm/MultiLineRenderer/MultiLineRenderer.js +1 -2
  180. package/esm/MultiLineRenderer/configSchema.d.ts +0 -6
  181. package/esm/MultiLineRenderer/configSchema.js +1 -13
  182. package/esm/MultiLineRenderer/index.d.ts +1 -1
  183. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +1 -1
  184. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +0 -1
  185. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +1 -1
  186. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +4 -8
  187. package/esm/MultiLinearWiggleDisplay/components/RectBg.js +1 -1
  188. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +1 -1
  189. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +1 -1
  190. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +1 -1
  191. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +4 -6
  192. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +1 -1
  193. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.js +16 -27
  194. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +3 -3
  195. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +1 -2
  196. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  197. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +1 -1
  198. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +2 -2
  199. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +1 -1
  200. package/esm/MultiLinearWiggleDisplay/components/util.js +1 -1
  201. package/esm/MultiLinearWiggleDisplay/{models/configSchema.d.ts → configSchema.d.ts} +1 -10
  202. package/esm/MultiLinearWiggleDisplay/{models/configSchema.js → configSchema.js} +2 -20
  203. package/esm/MultiLinearWiggleDisplay/index.d.ts +1 -1
  204. package/esm/MultiLinearWiggleDisplay/index.js +3 -3
  205. package/esm/MultiLinearWiggleDisplay/{models/model.d.ts → model.d.ts} +25 -129
  206. package/esm/MultiLinearWiggleDisplay/{models/model.js → model.js} +108 -183
  207. package/esm/MultiLinearWiggleDisplay/{models/renderSvg.d.ts → renderSvg.d.ts} +2 -2
  208. package/esm/MultiLinearWiggleDisplay/{models/renderSvg.js → renderSvg.js} +2 -2
  209. package/esm/MultiQuantitativeTrack/configSchema.d.ts +1 -1
  210. package/esm/MultiQuantitativeTrack/configSchema.js +1 -7
  211. package/esm/MultiQuantitativeTrack/index.d.ts +1 -1
  212. package/esm/MultiQuantitativeTrack/index.js +1 -1
  213. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +3 -2
  214. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
  215. package/esm/MultiRowLineRenderer/configSchema.d.ts +0 -6
  216. package/esm/MultiRowLineRenderer/configSchema.js +2 -14
  217. package/esm/MultiRowLineRenderer/index.d.ts +1 -1
  218. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +3 -2
  219. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
  220. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +0 -12
  221. package/esm/MultiRowXYPlotRenderer/configSchema.js +3 -21
  222. package/esm/MultiRowXYPlotRenderer/index.d.ts +1 -1
  223. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +5 -4
  224. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +13 -16
  225. package/esm/MultiWiggleAdapter/configSchema.d.ts +0 -6
  226. package/esm/MultiWiggleAdapter/configSchema.js +1 -10
  227. package/esm/MultiWiggleAdapter/index.d.ts +1 -1
  228. package/esm/MultiWiggleAdapter/index.js +1 -1
  229. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +1 -1
  230. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +2 -4
  231. package/esm/MultiWiggleAddTrackWorkflow/index.d.ts +1 -1
  232. package/esm/MultiWiggleAddTrackWorkflow/index.js +1 -2
  233. package/esm/MultiWiggleRendering.d.ts +3 -3
  234. package/esm/MultiWiggleRendering.js +2 -2
  235. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +3 -2
  236. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +1 -2
  237. package/esm/MultiXYPlotRenderer/configSchema.d.ts +0 -12
  238. package/esm/MultiXYPlotRenderer/configSchema.js +2 -20
  239. package/esm/MultiXYPlotRenderer/index.d.ts +1 -1
  240. package/esm/QuantitativeTrack/configSchema.d.ts +1 -1
  241. package/esm/QuantitativeTrack/configSchema.js +1 -7
  242. package/esm/QuantitativeTrack/index.d.ts +1 -1
  243. package/esm/QuantitativeTrack/index.js +1 -1
  244. package/esm/Tooltip.d.ts +1 -1
  245. package/esm/Tooltip.js +1 -2
  246. package/esm/WiggleBaseRenderer.d.ts +6 -9
  247. package/esm/WiggleBaseRenderer.js +0 -1
  248. package/esm/WiggleRPC/MultiWiggleGetSources.d.ts +5 -12
  249. package/esm/WiggleRPC/MultiWiggleGetSources.js +2 -29
  250. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +5 -7
  251. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +2 -15
  252. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +4 -11
  253. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +2 -29
  254. package/esm/WiggleRendering.d.ts +2 -2
  255. package/esm/WiggleRendering.js +1 -3
  256. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +3 -2
  257. package/esm/XYPlotRenderer/XYPlotRenderer.js +3 -5
  258. package/esm/XYPlotRenderer/configSchema.d.ts +0 -12
  259. package/esm/XYPlotRenderer/configSchema.js +3 -21
  260. package/esm/XYPlotRenderer/index.d.ts +1 -1
  261. package/esm/configSchema.d.ts +0 -18
  262. package/esm/configSchema.js +1 -23
  263. package/esm/drawDensity.d.ts +3 -3
  264. package/esm/drawDensity.js +1 -5
  265. package/esm/drawLine.d.ts +3 -3
  266. package/esm/drawLine.js +1 -6
  267. package/esm/drawXY.d.ts +4 -3
  268. package/esm/drawXY.js +29 -13
  269. package/esm/getMultiWiggleSourcesAutorun.d.ts +17 -0
  270. package/esm/getMultiWiggleSourcesAutorun.js +35 -0
  271. package/esm/getQuantitativeStats.d.ts +13 -0
  272. package/esm/getQuantitativeStats.js +67 -0
  273. package/esm/getQuantitativeStatsAutorun.d.ts +13 -0
  274. package/esm/getQuantitativeStatsAutorun.js +32 -0
  275. package/esm/index.d.ts +6 -6
  276. package/esm/index.js +13 -16
  277. package/esm/shared/SetMinMaxDialog.js +1 -1
  278. package/{dist/shared/configShared.d.ts → esm/shared/SharedWiggleConfigSchema.d.ts} +0 -26
  279. package/esm/shared/{configShared.js → SharedWiggleConfigSchema.js} +1 -30
  280. package/{dist/shared/modelShared.d.ts → esm/shared/SharedWiggleMixin.d.ts} +22 -213
  281. package/esm/shared/{modelShared.js → SharedWiggleMixin.js} +16 -175
  282. package/esm/util.d.ts +1 -53
  283. package/esm/util.js +1 -139
  284. package/package.json +2 -4
@@ -24,79 +24,33 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.default = SharedWiggleMixin;
27
+ const react_1 = require("react");
27
28
  const configuration_1 = require("@jbrowse/core/configuration");
28
29
  const util_1 = require("@jbrowse/core/util");
30
+ const stopToken_1 = require("@jbrowse/core/util/stopToken");
29
31
  const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
30
32
  const mobx_state_tree_1 = require("mobx-state-tree");
31
- // locals
32
33
  const util_2 = require("../util");
33
- const react_1 = require("react");
34
- // lazies
35
34
  const SetMinMaxDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SetMinMaxDialog'))));
36
- /**
37
- * #stateModel SharedWiggleMixin
38
- */
39
35
  function SharedWiggleMixin(configSchema) {
40
36
  return mobx_state_tree_1.types
41
37
  .compose(plugin_linear_genome_view_1.BaseLinearDisplay, mobx_state_tree_1.types.model({
42
- /**
43
- * #property
44
- */
45
38
  selectedRendering: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.string, ''),
46
- /**
47
- * #property
48
- */
49
39
  resolution: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.number, 1),
50
- /**
51
- * #property
52
- */
53
40
  fill: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
54
- /**
55
- * #property
56
- */
57
41
  minSize: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
58
- /**
59
- * #property
60
- */
61
42
  color: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
62
- /**
63
- * #property
64
- */
65
43
  posColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
66
- /**
67
- * #property
68
- */
69
44
  negColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
70
- /**
71
- * #property
72
- */
73
45
  summaryScoreMode: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
74
- /**
75
- * #property
76
- */
77
46
  rendererTypeNameState: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
78
- /**
79
- * #property
80
- */
81
47
  scale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
82
- /**
83
- * #property
84
- */
85
48
  autoscale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
86
- /**
87
- * #property
88
- */
89
49
  displayCrossHatches: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
90
- /**
91
- * #property
92
- */
93
50
  constraints: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.model({
94
51
  max: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
95
52
  min: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
96
53
  }), {}),
97
- /**
98
- * #property
99
- */
100
54
  configuration: (0, configuration_1.ConfigurationReference)(configSchema),
101
55
  }))
102
56
  .volatile(() => ({
@@ -105,69 +59,43 @@ function SharedWiggleMixin(configSchema) {
105
59
  statsFetchInProgress: undefined,
106
60
  }))
107
61
  .actions(self => ({
108
- /**
109
- * #action
110
- */
111
62
  updateQuantitativeStats(stats) {
112
- const { scoreMin, scoreMax } = stats;
63
+ const { currStatsBpPerPx, scoreMin, scoreMax } = stats;
113
64
  const EPSILON = 0.000001;
114
- if (!self.stats) {
115
- self.stats = { scoreMin, scoreMax };
116
- }
117
- else if (Math.abs(self.stats.scoreMax - scoreMax) > EPSILON ||
65
+ if (!self.stats ||
66
+ Math.abs(self.stats.scoreMax - scoreMax) > EPSILON ||
118
67
  Math.abs(self.stats.scoreMin - scoreMin) > EPSILON) {
119
- self.stats = { scoreMin, scoreMax };
68
+ self.stats = {
69
+ currStatsBpPerPx,
70
+ scoreMin,
71
+ scoreMax,
72
+ };
120
73
  }
121
74
  },
122
- /**
123
- * #action
124
- */
125
75
  setColor(color) {
126
76
  self.color = color;
127
77
  },
128
- /**
129
- * #action
130
- */
131
78
  setPosColor(color) {
132
79
  self.posColor = color;
133
80
  },
134
- /**
135
- * #action
136
- */
137
81
  setNegColor(color) {
138
82
  self.negColor = color;
139
83
  },
140
- /**
141
- * #action
142
- */
143
- setLoading(aborter) {
144
- const { statsFetchInProgress: statsFetch } = self;
145
- if (statsFetch !== undefined && !statsFetch.signal.aborted) {
146
- statsFetch.abort();
84
+ setStatsLoading(arg) {
85
+ if (self.statsFetchInProgress) {
86
+ (0, stopToken_1.stopStopToken)(self.statsFetchInProgress);
147
87
  }
148
- self.statsFetchInProgress = aborter;
149
- },
150
- /**
151
- * #action
152
- * this overrides the BaseLinearDisplayModel to avoid popping up a
153
- * feature detail display, but still sets the feature selection on the
154
- * model so listeners can detect a click
155
- */
88
+ self.statsFetchInProgress = arg;
89
+ },
156
90
  selectFeature(feature) {
157
91
  const session = (0, util_1.getSession)(self);
158
92
  if ((0, util_1.isSelectionContainer)(session)) {
159
93
  session.setSelection(feature);
160
94
  }
161
95
  },
162
- /**
163
- * #action
164
- */
165
96
  setResolution(res) {
166
97
  self.resolution = res;
167
98
  },
168
- /**
169
- * #action
170
- */
171
99
  setFill(fill) {
172
100
  if (fill === 0) {
173
101
  self.fill = true;
@@ -182,116 +110,64 @@ function SharedWiggleMixin(configSchema) {
182
110
  self.minSize = 2;
183
111
  }
184
112
  },
185
- /**
186
- * #action
187
- */
188
113
  toggleLogScale() {
189
114
  self.scale = self.scale === 'log' ? 'linear' : 'log';
190
115
  },
191
- /**
192
- * #action
193
- */
194
116
  setScaleType(scale) {
195
117
  self.scale = scale;
196
118
  },
197
- /**
198
- * #action
199
- */
200
119
  setSummaryScoreMode(val) {
201
120
  self.summaryScoreMode = val;
202
121
  },
203
- /**
204
- * #action
205
- */
206
122
  setAutoscale(val) {
207
123
  self.autoscale = val;
208
124
  },
209
- /**
210
- * #action
211
- */
212
125
  setMaxScore(val) {
213
126
  self.constraints.max = val;
214
127
  },
215
- /**
216
- * #action
217
- */
218
128
  setRendererType(val) {
219
129
  self.rendererTypeNameState = val;
220
130
  },
221
- /**
222
- * #action
223
- */
224
131
  setMinScore(val) {
225
132
  self.constraints.min = val;
226
133
  },
227
- /**
228
- * #action
229
- */
230
134
  toggleCrossHatches() {
231
135
  self.displayCrossHatches = !self.displayCrossHatches;
232
136
  },
233
- /**
234
- * #action
235
- */
236
137
  setCrossHatches(cross) {
237
138
  self.displayCrossHatches = cross;
238
139
  },
239
140
  }))
240
141
  .views(self => ({
241
- /**
242
- * #getter
243
- */
244
142
  get adapterTypeName() {
245
143
  return self.adapterConfig.type;
246
144
  },
247
- /**
248
- * #getter
249
- */
250
145
  get rendererTypeNameSimple() {
251
146
  var _a;
252
147
  return (_a = self.rendererTypeNameState) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'defaultRendering');
253
148
  },
254
- /**
255
- * #getter
256
- * subclasses can define these, as snpcoverage track does
257
- */
258
149
  get filters() {
259
150
  return undefined;
260
151
  },
261
- /**
262
- * #getter
263
- */
264
152
  get scaleType() {
265
153
  var _a;
266
154
  return (_a = self.scale) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'scaleType');
267
155
  },
268
- /**
269
- * #getter
270
- */
271
156
  get maxScore() {
272
157
  var _a;
273
158
  return (_a = self.constraints.max) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'maxScore');
274
159
  },
275
- /**
276
- * #getter
277
- */
278
160
  get minScore() {
279
161
  var _a;
280
162
  return (_a = self.constraints.min) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'minScore');
281
163
  },
282
164
  }))
283
165
  .views(self => ({
284
- /**
285
- * #getter
286
- */
287
166
  get adapterCapabilities() {
288
167
  const type = self.adapterTypeName;
289
168
  const { pluginManager } = (0, util_1.getEnv)(self);
290
169
  return pluginManager.getAdapterType(type).adapterCapabilities;
291
170
  },
292
- /**
293
- * #getter
294
- */
295
171
  get rendererConfig() {
296
172
  const { color, displayCrossHatches, fill, minSize, negColor, posColor, summaryScoreMode, scaleType, rendererTypeName, } = self;
297
173
  const configBlob = (0, configuration_1.getConf)(self, ['renderers', rendererTypeName]) || {};
@@ -309,9 +185,6 @@ function SharedWiggleMixin(configSchema) {
309
185
  ...(minSize !== undefined ? { minSize } : {}),
310
186
  }, (0, util_1.getEnv)(self));
311
187
  },
312
- /**
313
- * #getter
314
- */
315
188
  get autoscaleType() {
316
189
  var _a;
317
190
  return (_a = self.autoscale) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'autoscale');
@@ -320,9 +193,6 @@ function SharedWiggleMixin(configSchema) {
320
193
  .views(self => {
321
194
  let oldDomain = [0, 0];
322
195
  return {
323
- /**
324
- * #getter
325
- */
326
196
  get domain() {
327
197
  const { stats, scaleType, minScore, maxScore } = self;
328
198
  if (!stats) {
@@ -333,11 +203,9 @@ function SharedWiggleMixin(configSchema) {
333
203
  bounds: [minScore, maxScore],
334
204
  scaleType,
335
205
  });
336
- // avoid weird scalebar if log value and empty region displayed
337
206
  if (scaleType === 'log' && ret[1] === Number.MIN_VALUE) {
338
207
  return [0, Number.MIN_VALUE];
339
208
  }
340
- // avoid returning a new object if it matches the old value
341
209
  if (JSON.stringify(oldDomain) !== JSON.stringify(ret)) {
342
210
  oldDomain = ret;
343
211
  }
@@ -346,23 +214,14 @@ function SharedWiggleMixin(configSchema) {
346
214
  };
347
215
  })
348
216
  .views(self => ({
349
- /**
350
- * #getter
351
- */
352
217
  get filled() {
353
218
  const { fill, rendererConfig } = self;
354
219
  return fill !== null && fill !== void 0 ? fill : (0, configuration_1.readConfObject)(rendererConfig, 'filled');
355
220
  },
356
- /**
357
- * #getter
358
- */
359
221
  get summaryScoreModeSetting() {
360
222
  const { summaryScoreMode: mode, rendererConfig } = self;
361
223
  return mode !== null && mode !== void 0 ? mode : (0, configuration_1.readConfObject)(rendererConfig, 'summaryScoreMode');
362
224
  },
363
- /**
364
- * #getter
365
- */
366
225
  get scaleOpts() {
367
226
  return {
368
227
  domain: self.domain,
@@ -372,36 +231,21 @@ function SharedWiggleMixin(configSchema) {
372
231
  inverted: (0, configuration_1.getConf)(self, 'inverted'),
373
232
  };
374
233
  },
375
- /**
376
- * #getter
377
- */
378
234
  get canHaveFill() {
379
235
  return self.rendererTypeName === 'XYPlotRenderer';
380
236
  },
381
- /**
382
- * #getter
383
- */
384
237
  get displayCrossHatchesSetting() {
385
238
  const { displayCrossHatches: hatches, rendererConfig } = self;
386
239
  return hatches !== null && hatches !== void 0 ? hatches : (0, configuration_1.readConfObject)(rendererConfig, 'displayCrossHatches');
387
240
  },
388
- /**
389
- * #getter
390
- */
391
241
  get hasResolution() {
392
242
  return self.adapterCapabilities.includes('hasResolution');
393
243
  },
394
- /**
395
- * #getter
396
- */
397
244
  get hasGlobalStats() {
398
245
  return self.adapterCapabilities.includes('hasGlobalStats');
399
246
  },
400
247
  }))
401
248
  .views(self => ({
402
- /**
403
- * #method
404
- */
405
249
  scoreTrackMenuItems() {
406
250
  return [
407
251
  ...(self.hasResolution
@@ -477,9 +321,6 @@ function SharedWiggleMixin(configSchema) {
477
321
  .actions(self => {
478
322
  const { reload: superReload } = self;
479
323
  return {
480
- /**
481
- * #action
482
- */
483
324
  async reload() {
484
325
  self.setError();
485
326
  superReload();
package/dist/util.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { QuantitativeStats } from '@jbrowse/core/util/stats';
2
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
1
  export declare const YSCALEBAR_LABEL_OFFSET = 5;
4
2
  export interface ScaleOpts {
5
3
  domain: number[];
@@ -14,63 +12,13 @@ export interface Source {
14
12
  color?: string;
15
13
  group?: string;
16
14
  }
17
- /**
18
- * produces a d3-scale from arguments. applies a "nice domain" adjustment
19
- *
20
- * @param object - containing attributes
21
- * - domain [min,max]
22
- * - range [min,max]
23
- * - bounds [min,max]
24
- * - scaleType (linear or log)
25
- * - pivotValue (number)
26
- * - inverted (boolean)
27
- */
28
15
  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>;
29
- /**
30
- * gets the origin for drawing the graph. for linear this is 0, for log this is arbitrarily set to log(1)==0
31
- *
32
- * @param scaleType -
33
- */
34
- export declare function getOrigin(scaleType: string): 0 | 1;
35
- /**
36
- * produces a "nice" domain that actually rounds down to 0 for the min
37
- * or 0 to the max depending on if all values are positive or negative
38
- *
39
- * @param object - containing attributes
40
- * - domain [min,max]
41
- * - bounds [min,max]
42
- * - mean
43
- * - stddev
44
- * - scaleType (linear or log)
45
- */
16
+ export declare function getOrigin(scaleType: string): 1 | 0;
46
17
  export declare function getNiceDomain({ scaleType, domain, bounds, }: {
47
18
  scaleType: string;
48
19
  domain: readonly [number, number];
49
20
  bounds: readonly [number | undefined, number | undefined];
50
21
  }): [number, number];
51
- export declare function getQuantitativeStats(self: {
52
- adapterConfig: AnyConfigurationModel;
53
- configuration: AnyConfigurationModel;
54
- autoscaleType: string;
55
- setMessage: (str: string) => void;
56
- }, opts: {
57
- headers?: Record<string, string>;
58
- signal?: AbortSignal;
59
- filters: string[];
60
- }): Promise<QuantitativeStats>;
61
- export declare function quantitativeStatsAutorun(self: {
62
- featureDensityStatsReady: boolean;
63
- regionTooLarge: boolean;
64
- error: unknown;
65
- setLoading: (aborter: AbortController) => void;
66
- setError: (error: unknown) => void;
67
- updateQuantitativeStats: (stats: QuantitativeStats, statsRegion: string) => void;
68
- renderProps: () => Record<string, unknown>;
69
- configuration: AnyConfigurationModel;
70
- adapterConfig: AnyConfigurationModel;
71
- autoscaleType: string;
72
- setMessage: (str: string) => void;
73
- }): void;
74
22
  export declare function toP(s?: number): number;
75
23
  export declare function round(value: number): number;
76
24
  export declare function fillRectCtx(x: number, y: number, width: number, height: number, ctx: CanvasRenderingContext2D, color?: string): void;
package/dist/util.js CHANGED
@@ -4,29 +4,11 @@ exports.YSCALEBAR_LABEL_OFFSET = void 0;
4
4
  exports.getScale = getScale;
5
5
  exports.getOrigin = getOrigin;
6
6
  exports.getNiceDomain = getNiceDomain;
7
- exports.getQuantitativeStats = getQuantitativeStats;
8
- exports.quantitativeStatsAutorun = quantitativeStatsAutorun;
9
7
  exports.toP = toP;
10
8
  exports.round = round;
11
9
  exports.fillRectCtx = fillRectCtx;
12
10
  const d3_scale_1 = require("@mui/x-charts-vendor/d3-scale");
13
- const mobx_1 = require("mobx");
14
- const util_1 = require("@jbrowse/core/util");
15
- const tracks_1 = require("@jbrowse/core/util/tracks");
16
- const mobx_state_tree_1 = require("mobx-state-tree");
17
- const configuration_1 = require("@jbrowse/core/configuration");
18
11
  exports.YSCALEBAR_LABEL_OFFSET = 5;
19
- /**
20
- * produces a d3-scale from arguments. applies a "nice domain" adjustment
21
- *
22
- * @param object - containing attributes
23
- * - domain [min,max]
24
- * - range [min,max]
25
- * - bounds [min,max]
26
- * - scaleType (linear or log)
27
- * - pivotValue (number)
28
- * - inverted (boolean)
29
- */
30
12
  function getScale({ domain = [], range = [], scaleType, pivotValue, inverted, }) {
31
13
  let scale;
32
14
  const [min, max] = domain;
@@ -54,40 +36,12 @@ function getScale({ domain = [], range = [], scaleType, pivotValue, inverted, })
54
36
  scale.range(inverted ? range.slice().reverse() : range);
55
37
  return scale;
56
38
  }
57
- /**
58
- * gets the origin for drawing the graph. for linear this is 0, for log this is arbitrarily set to log(1)==0
59
- *
60
- * @param scaleType -
61
- */
62
- function getOrigin(scaleType /* , pivot, stats */) {
63
- // if (pivot) {
64
- // if (pivot === 'mean') {
65
- // return stats.scoreMean || 0
66
- // }
67
- // if (pivot === 'zero') {
68
- // return 0
69
- // }
70
- // return parseFloat()
71
- // }
72
- // if (scaleType === 'z_score') {
73
- // return stats.scoreMean || 0
74
- // }
39
+ function getOrigin(scaleType) {
75
40
  if (scaleType === 'log') {
76
41
  return 1;
77
42
  }
78
43
  return 0;
79
44
  }
80
- /**
81
- * produces a "nice" domain that actually rounds down to 0 for the min
82
- * or 0 to the max depending on if all values are positive or negative
83
- *
84
- * @param object - containing attributes
85
- * - domain [min,max]
86
- * - bounds [min,max]
87
- * - mean
88
- * - stddev
89
- * - scaleType (linear or log)
90
- */
91
45
  function getNiceDomain({ scaleType, domain, bounds, }) {
92
46
  const [minScore, maxScore] = bounds;
93
47
  let [min, max] = domain;
@@ -100,9 +54,6 @@ function getNiceDomain({ scaleType, domain, bounds, }) {
100
54
  }
101
55
  }
102
56
  if (scaleType === 'log') {
103
- // for min>0 and max>1, set log min to 1, which works for most coverage
104
- // types tracks. if max is not >1, might be like raw p-values so then it'll
105
- // display negative values
106
57
  if (min >= 0 && max > 1) {
107
58
  min = 1;
108
59
  }
@@ -132,103 +83,12 @@ function getNiceDomain({ scaleType, domain, bounds, }) {
132
83
  scale.nice();
133
84
  return scale.domain();
134
85
  }
135
- async function getQuantitativeStats(self, opts) {
136
- const { rpcManager } = (0, util_1.getSession)(self);
137
- const numStdDev = (0, configuration_1.getConf)(self, 'numStdDev') || 3;
138
- const { adapterConfig, autoscaleType } = self;
139
- const sessionId = (0, tracks_1.getRpcSessionId)(self);
140
- const params = {
141
- sessionId,
142
- adapterConfig,
143
- statusCallback: (message) => {
144
- if ((0, mobx_state_tree_1.isAlive)(self)) {
145
- self.setMessage(message);
146
- }
147
- },
148
- ...opts,
149
- };
150
- if (autoscaleType === 'global' || autoscaleType === 'globalsd') {
151
- const results = (await rpcManager.call(sessionId, 'WiggleGetGlobalQuantitativeStats', params));
152
- const { scoreMin, scoreMean, scoreStdDev } = results;
153
- // globalsd uses heuristic to avoid unnecessary scoreMin<0
154
- // if the scoreMin is never less than 0
155
- // helps with most coverage bigwigs just being >0
156
- return autoscaleType === 'globalsd'
157
- ? {
158
- ...results,
159
- scoreMin: scoreMin >= 0 ? 0 : scoreMean - numStdDev * scoreStdDev,
160
- scoreMax: scoreMean + numStdDev * scoreStdDev,
161
- }
162
- : results;
163
- }
164
- if (autoscaleType === 'local' || autoscaleType === 'localsd') {
165
- const { dynamicBlocks, bpPerPx } = (0, util_1.getContainingView)(self);
166
- const results = (await rpcManager.call(sessionId, 'WiggleGetMultiRegionQuantitativeStats', {
167
- ...params,
168
- regions: dynamicBlocks.contentBlocks.map(region => {
169
- const { start, end } = region;
170
- return {
171
- ...JSON.parse(JSON.stringify(region)),
172
- start: Math.floor(start),
173
- end: Math.ceil(end),
174
- };
175
- }),
176
- bpPerPx,
177
- }));
178
- const { scoreMin, scoreMean, scoreStdDev } = results;
179
- // localsd uses heuristic to avoid unnecessary scoreMin<0 if the
180
- // scoreMin is never less than 0 helps with most coverage bigwigs
181
- // just being >0
182
- return autoscaleType === 'localsd'
183
- ? {
184
- ...results,
185
- scoreMin: scoreMin >= 0 ? 0 : scoreMean - numStdDev * scoreStdDev,
186
- scoreMax: scoreMean + numStdDev * scoreStdDev,
187
- }
188
- : results;
189
- }
190
- if (autoscaleType === 'zscale') {
191
- return rpcManager.call(sessionId, 'WiggleGetGlobalQuantitativeStats', params);
192
- }
193
- throw new Error(`invalid autoscaleType '${autoscaleType}'`);
194
- }
195
- function quantitativeStatsAutorun(self) {
196
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(async () => {
197
- try {
198
- const aborter = new AbortController();
199
- const view = (0, util_1.getContainingView)(self);
200
- self.setLoading(aborter);
201
- if (!view.initialized ||
202
- !self.featureDensityStatsReady ||
203
- self.regionTooLarge ||
204
- self.error) {
205
- return;
206
- }
207
- const statsRegion = JSON.stringify(view.dynamicBlocks);
208
- const wiggleStats = await getQuantitativeStats(self, {
209
- signal: aborter.signal,
210
- filters: [],
211
- ...self.renderProps(),
212
- });
213
- if ((0, mobx_state_tree_1.isAlive)(self)) {
214
- self.updateQuantitativeStats(wiggleStats, statsRegion);
215
- }
216
- }
217
- catch (e) {
218
- if (!(0, util_1.isAbortException)(e) && (0, mobx_state_tree_1.isAlive)(self)) {
219
- console.error(e);
220
- self.setError(e);
221
- }
222
- }
223
- }, { delay: 1000 }));
224
- }
225
86
  function toP(s = 0) {
226
87
  return +(+s).toPrecision(6);
227
88
  }
228
89
  function round(value) {
229
90
  return Math.round(value * 1e5) / 1e5;
230
91
  }
231
- // avoid drawing negative width features for SVG exports
232
92
  function fillRectCtx(x, y, width, height, ctx, color) {
233
93
  if (width < 0) {
234
94
  x += width;
@@ -1,7 +1,8 @@
1
1
  import { BigWig } from '@gmod/bbi';
2
- import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
3
- import { AugmentedRegion as Region } from '@jbrowse/core/util/types';
4
- import { Feature } from '@jbrowse/core/util';
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';
5
6
  interface WiggleOptions extends BaseOptions {
6
7
  resolution?: number;
7
8
  }
@@ -1,9 +1,9 @@
1
1
  import { BigWig } from '@gmod/bbi';
2
- import { BaseFeatureDataAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
3
- import { openLocation } from '@jbrowse/core/util/io';
2
+ import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
4
3
  import { updateStatus } from '@jbrowse/core/util';
4
+ import { openLocation } from '@jbrowse/core/util/io';
5
5
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
6
- import { rectifyStats, } from '@jbrowse/core/util/stats';
6
+ import { rectifyStats } from '@jbrowse/core/util/stats';
7
7
  class BigWigAdapter extends BaseFeatureDataAdapter {
8
8
  async setupPre(opts) {
9
9
  const { statusCallback = () => { } } = opts || {};
@@ -38,7 +38,7 @@ class BigWigAdapter extends BaseFeatureDataAdapter {
38
38
  }
39
39
  getFeatures(region, opts = {}) {
40
40
  const { refName, start, end } = region;
41
- const { bpPerPx = 0, signal, resolution = 1, statusCallback = () => { }, } = opts;
41
+ const { bpPerPx = 0, stopToken, resolution = 1, statusCallback = () => { }, } = opts;
42
42
  return ObservableCreate(async (observer) => {
43
43
  statusCallback('Downloading bigwig data');
44
44
  const source = this.getConf('source');
@@ -50,25 +50,20 @@ class BigWigAdapter extends BaseFeatureDataAdapter {
50
50
  });
51
51
  for (const data of feats) {
52
52
  if (source) {
53
- // @ts-expect-error
54
53
  data.source = source;
55
54
  }
56
55
  const uniqueId = `${source}:${region.refName}:${data.start}-${data.end}`;
57
- // @ts-expect-error
58
56
  data.refName = refName;
59
57
  data.uniqueId = uniqueId;
60
58
  observer.next({
61
- // @ts-expect-error
62
59
  get: (str) => data[str],
63
60
  id: () => uniqueId,
64
- // @ts-expect-error
65
61
  toJSON: () => data,
66
62
  });
67
63
  }
68
64
  observer.complete();
69
- }, signal);
65
+ }, stopToken);
70
66
  }
71
- // always render bigwig instead of calculating a feature density for it
72
67
  async getMultiRegionFeatureDensityStats(_regions) {
73
68
  return { featureDensity: 0 };
74
69
  }