@jbrowse/plugin-wiggle 1.7.11 → 2.1.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 (446) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  2. package/dist/BigWigAdapter/BigWigAdapter.js +205 -283
  3. package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -0
  4. package/dist/BigWigAdapter/configSchema.js +17 -21
  5. package/dist/BigWigAdapter/configSchema.js.map +1 -0
  6. package/dist/BigWigAdapter/index.d.ts +3 -1
  7. package/dist/BigWigAdapter/index.js +42 -12
  8. package/dist/BigWigAdapter/index.js.map +1 -0
  9. package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +9 -0
  10. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +68 -0
  11. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -0
  12. package/dist/CreateMultiWiggleExtension/index.d.ts +2 -0
  13. package/dist/CreateMultiWiggleExtension/index.js +111 -0
  14. package/dist/CreateMultiWiggleExtension/index.js.map +1 -0
  15. package/dist/DensityRenderer/DensityRenderer.d.ts +6 -0
  16. package/dist/DensityRenderer/DensityRenderer.js +74 -0
  17. package/dist/DensityRenderer/DensityRenderer.js.map +1 -0
  18. package/dist/DensityRenderer/configSchema.d.ts +2 -0
  19. package/dist/DensityRenderer/configSchema.js +10 -0
  20. package/dist/DensityRenderer/configSchema.js.map +1 -0
  21. package/dist/DensityRenderer/index.d.ts +3 -6
  22. package/dist/DensityRenderer/index.js +17 -135
  23. package/dist/DensityRenderer/index.js.map +1 -0
  24. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  25. package/dist/LinePlotRenderer/LinePlotRenderer.js +83 -168
  26. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
  27. package/dist/LinePlotRenderer/configSchema.d.ts +2 -2
  28. package/dist/LinePlotRenderer/configSchema.js +15 -69
  29. package/dist/LinePlotRenderer/configSchema.js.map +1 -0
  30. package/dist/LinePlotRenderer/index.d.ts +3 -3
  31. package/dist/LinePlotRenderer/index.js +17 -32
  32. package/dist/LinePlotRenderer/index.js.map +1 -0
  33. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +6 -2
  34. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +88 -106
  35. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  36. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js +86 -107
  37. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  38. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  39. package/dist/LinearWiggleDisplay/components/Tooltip.js +47 -163
  40. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
  41. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +44 -50
  42. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  43. package/dist/LinearWiggleDisplay/components/YScaleBar.js +24 -31
  44. package/dist/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  45. package/dist/LinearWiggleDisplay/index.d.ts +7 -3
  46. package/dist/LinearWiggleDisplay/index.js +27 -41
  47. package/dist/LinearWiggleDisplay/index.js.map +1 -0
  48. package/dist/LinearWiggleDisplay/models/configSchema.js +65 -69
  49. package/dist/LinearWiggleDisplay/models/configSchema.js.map +1 -0
  50. package/dist/LinearWiggleDisplay/models/model.d.ts +39 -18
  51. package/dist/LinearWiggleDisplay/models/model.js +538 -696
  52. package/dist/LinearWiggleDisplay/models/model.js.map +1 -0
  53. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  54. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +135 -0
  55. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  56. package/dist/MultiDensityRenderer/configSchema.d.ts +2 -0
  57. package/dist/MultiDensityRenderer/configSchema.js +10 -0
  58. package/dist/MultiDensityRenderer/configSchema.js.map +1 -0
  59. package/dist/MultiDensityRenderer/index.d.ts +3 -0
  60. package/dist/MultiDensityRenderer/index.js +19 -0
  61. package/dist/MultiDensityRenderer/index.js.map +1 -0
  62. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  63. package/dist/MultiLineRenderer/MultiLineRenderer.js +124 -0
  64. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  65. package/dist/MultiLineRenderer/configSchema.d.ts +2 -0
  66. package/dist/MultiLineRenderer/configSchema.js +23 -0
  67. package/dist/MultiLineRenderer/configSchema.js.map +1 -0
  68. package/dist/MultiLineRenderer/index.d.ts +3 -0
  69. package/dist/MultiLineRenderer/index.js +19 -0
  70. package/dist/MultiLineRenderer/index.js.map +1 -0
  71. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  72. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +239 -0
  73. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  74. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  75. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +91 -0
  76. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  77. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  78. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +78 -0
  79. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  80. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  81. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +144 -0
  82. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  83. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  84. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js +26 -0
  85. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  86. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  87. package/dist/MultiLinearWiggleDisplay/components/util.js +38 -0
  88. package/dist/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  89. package/dist/MultiLinearWiggleDisplay/index.d.ts +3 -0
  90. package/dist/MultiLinearWiggleDisplay/index.js +23 -0
  91. package/dist/MultiLinearWiggleDisplay/index.js.map +1 -0
  92. package/dist/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  93. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +77 -0
  94. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  95. package/dist/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  96. package/dist/MultiLinearWiggleDisplay/models/model.js +675 -0
  97. package/dist/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  98. package/dist/MultiQuantitativeTrack/index.d.ts +3 -0
  99. package/dist/MultiQuantitativeTrack/index.js +19 -0
  100. package/dist/MultiQuantitativeTrack/index.js.map +1 -0
  101. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  102. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +131 -0
  103. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  104. package/dist/MultiRowLineRenderer/configSchema.d.ts +2 -0
  105. package/dist/MultiRowLineRenderer/configSchema.js +23 -0
  106. package/dist/MultiRowLineRenderer/configSchema.js.map +1 -0
  107. package/dist/MultiRowLineRenderer/index.d.ts +3 -0
  108. package/dist/MultiRowLineRenderer/index.js +19 -0
  109. package/dist/MultiRowLineRenderer/index.js.map +1 -0
  110. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  111. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +164 -0
  112. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  113. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  114. package/dist/MultiRowXYPlotRenderer/configSchema.js +31 -0
  115. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  116. package/dist/MultiRowXYPlotRenderer/index.d.ts +3 -0
  117. package/dist/MultiRowXYPlotRenderer/index.js +19 -0
  118. package/dist/MultiRowXYPlotRenderer/index.js.map +1 -0
  119. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  120. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +244 -0
  121. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  122. package/dist/MultiWiggleAdapter/configSchema.d.ts +2 -0
  123. package/dist/MultiWiggleAdapter/configSchema.js +14 -0
  124. package/dist/MultiWiggleAdapter/configSchema.js.map +1 -0
  125. package/dist/MultiWiggleAdapter/index.d.ts +3 -0
  126. package/dist/MultiWiggleAdapter/index.js +47 -0
  127. package/dist/MultiWiggleAdapter/index.js.map +1 -0
  128. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  129. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +139 -0
  130. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  131. package/dist/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  132. package/dist/MultiWiggleAddTrackWidget/index.js +19 -0
  133. package/dist/MultiWiggleAddTrackWidget/index.js.map +1 -0
  134. package/dist/MultiWiggleRendering.d.ts +21 -0
  135. package/dist/MultiWiggleRendering.js +164 -0
  136. package/dist/MultiWiggleRendering.js.map +1 -0
  137. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  138. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +153 -0
  139. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  140. package/dist/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  141. package/dist/MultiXYPlotRenderer/configSchema.js +31 -0
  142. package/dist/MultiXYPlotRenderer/configSchema.js.map +1 -0
  143. package/dist/MultiXYPlotRenderer/index.d.ts +3 -0
  144. package/dist/MultiXYPlotRenderer/index.js +19 -0
  145. package/dist/MultiXYPlotRenderer/index.js.map +1 -0
  146. package/dist/QuantitativeTrack/index.d.ts +3 -0
  147. package/dist/QuantitativeTrack/index.js +19 -0
  148. package/dist/QuantitativeTrack/index.js.map +1 -0
  149. package/dist/Tooltip.d.ts +20 -0
  150. package/dist/Tooltip.js +124 -0
  151. package/dist/Tooltip.js.map +1 -0
  152. package/dist/WiggleBaseRenderer.d.ts +11 -12
  153. package/dist/WiggleBaseRenderer.js +132 -129
  154. package/dist/WiggleBaseRenderer.js.map +1 -0
  155. package/dist/WiggleRPC/rpcMethods.d.ts +17 -1
  156. package/dist/WiggleRPC/rpcMethods.js +258 -289
  157. package/dist/WiggleRPC/rpcMethods.js.map +1 -0
  158. package/dist/WiggleRendering.d.ts +1 -1
  159. package/dist/WiggleRendering.js +103 -102
  160. package/dist/WiggleRendering.js.map +1 -0
  161. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  162. package/dist/XYPlotRenderer/XYPlotRenderer.js +147 -194
  163. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
  164. package/dist/XYPlotRenderer/configSchema.d.ts +2 -0
  165. package/dist/XYPlotRenderer/configSchema.js +31 -0
  166. package/dist/XYPlotRenderer/configSchema.js.map +1 -0
  167. package/dist/XYPlotRenderer/index.d.ts +7 -3
  168. package/dist/XYPlotRenderer/index.js +21 -32
  169. package/dist/XYPlotRenderer/index.js.map +1 -0
  170. package/dist/configSchema.js +42 -74
  171. package/dist/configSchema.js.map +1 -0
  172. package/dist/drawxy.d.ts +50 -0
  173. package/dist/drawxy.js +411 -0
  174. package/dist/drawxy.js.map +1 -0
  175. package/dist/index.d.ts +194 -85
  176. package/dist/index.js +139 -247
  177. package/dist/index.js.map +1 -0
  178. package/dist/util.d.ts +34 -1
  179. package/dist/util.js +270 -143
  180. package/dist/util.js.map +1 -0
  181. package/esm/BigWigAdapter/BigWigAdapter.d.ts +25 -0
  182. package/esm/BigWigAdapter/BigWigAdapter.js +81 -0
  183. package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -0
  184. package/esm/BigWigAdapter/configSchema.d.ts +2 -0
  185. package/esm/BigWigAdapter/configSchema.js +16 -0
  186. package/esm/BigWigAdapter/configSchema.js.map +1 -0
  187. package/esm/BigWigAdapter/index.d.ts +3 -0
  188. package/esm/BigWigAdapter/index.js +15 -0
  189. package/esm/BigWigAdapter/index.js.map +1 -0
  190. package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +9 -0
  191. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +26 -0
  192. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -0
  193. package/esm/CreateMultiWiggleExtension/index.d.ts +2 -0
  194. package/esm/CreateMultiWiggleExtension/index.js +51 -0
  195. package/esm/CreateMultiWiggleExtension/index.js.map +1 -0
  196. package/esm/DensityRenderer/DensityRenderer.d.ts +6 -0
  197. package/esm/DensityRenderer/DensityRenderer.js +8 -0
  198. package/esm/DensityRenderer/DensityRenderer.js.map +1 -0
  199. package/esm/DensityRenderer/configSchema.d.ts +2 -0
  200. package/esm/DensityRenderer/configSchema.js +5 -0
  201. package/esm/DensityRenderer/configSchema.js.map +1 -0
  202. package/esm/DensityRenderer/index.d.ts +3 -0
  203. package/esm/DensityRenderer/index.js +12 -0
  204. package/esm/DensityRenderer/index.js.map +1 -0
  205. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +6 -0
  206. package/esm/LinePlotRenderer/LinePlotRenderer.js +13 -0
  207. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
  208. package/esm/LinePlotRenderer/configSchema.d.ts +2 -0
  209. package/esm/LinePlotRenderer/configSchema.js +11 -0
  210. package/esm/LinePlotRenderer/configSchema.js.map +1 -0
  211. package/esm/LinePlotRenderer/index.d.ts +3 -0
  212. package/esm/LinePlotRenderer/index.js +12 -0
  213. package/esm/LinePlotRenderer/index.js.map +1 -0
  214. package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +14 -0
  215. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +48 -0
  216. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  217. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  218. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  219. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  220. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +19 -0
  221. package/esm/LinearWiggleDisplay/components/Tooltip.js +34 -0
  222. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
  223. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +8 -0
  224. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +29 -0
  225. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  226. package/esm/LinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  227. package/esm/LinearWiggleDisplay/components/YScaleBar.js +9 -0
  228. package/esm/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  229. package/esm/LinearWiggleDisplay/index.d.ts +7 -0
  230. package/esm/LinearWiggleDisplay/index.js +21 -0
  231. package/esm/LinearWiggleDisplay/index.js.map +1 -0
  232. package/esm/LinearWiggleDisplay/models/configSchema.d.ts +2 -0
  233. package/esm/LinearWiggleDisplay/models/configSchema.js +64 -0
  234. package/esm/LinearWiggleDisplay/models/configSchema.js.map +1 -0
  235. package/esm/LinearWiggleDisplay/models/model.d.ts +309 -0
  236. package/esm/LinearWiggleDisplay/models/model.js +449 -0
  237. package/esm/LinearWiggleDisplay/models/model.js.map +1 -0
  238. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  239. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +36 -0
  240. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  241. package/esm/MultiDensityRenderer/configSchema.d.ts +2 -0
  242. package/esm/MultiDensityRenderer/configSchema.js +5 -0
  243. package/esm/MultiDensityRenderer/configSchema.js.map +1 -0
  244. package/esm/MultiDensityRenderer/index.d.ts +3 -0
  245. package/esm/MultiDensityRenderer/index.js +12 -0
  246. package/esm/MultiDensityRenderer/index.js.map +1 -0
  247. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  248. package/esm/MultiLineRenderer/MultiLineRenderer.js +25 -0
  249. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  250. package/esm/MultiLineRenderer/configSchema.d.ts +2 -0
  251. package/esm/MultiLineRenderer/configSchema.js +18 -0
  252. package/esm/MultiLineRenderer/configSchema.js.map +1 -0
  253. package/esm/MultiLineRenderer/index.d.ts +3 -0
  254. package/esm/MultiLineRenderer/index.js +12 -0
  255. package/esm/MultiLineRenderer/index.js.map +1 -0
  256. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  257. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +162 -0
  258. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  259. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  260. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  261. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  262. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  263. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +43 -0
  264. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  265. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  266. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +99 -0
  267. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  268. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  269. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js +9 -0
  270. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  271. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  272. package/esm/MultiLinearWiggleDisplay/components/util.js +31 -0
  273. package/esm/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  274. package/esm/MultiLinearWiggleDisplay/index.d.ts +3 -0
  275. package/esm/MultiLinearWiggleDisplay/index.js +18 -0
  276. package/esm/MultiLinearWiggleDisplay/index.js.map +1 -0
  277. package/esm/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  278. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +74 -0
  279. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  280. package/esm/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  281. package/esm/MultiLinearWiggleDisplay/models/model.js +570 -0
  282. package/esm/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  283. package/esm/MultiQuantitativeTrack/index.d.ts +3 -0
  284. package/esm/MultiQuantitativeTrack/index.js +14 -0
  285. package/esm/MultiQuantitativeTrack/index.js.map +1 -0
  286. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  287. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +33 -0
  288. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  289. package/esm/MultiRowLineRenderer/configSchema.d.ts +2 -0
  290. package/esm/MultiRowLineRenderer/configSchema.js +18 -0
  291. package/esm/MultiRowLineRenderer/configSchema.js.map +1 -0
  292. package/esm/MultiRowLineRenderer/index.d.ts +3 -0
  293. package/esm/MultiRowLineRenderer/index.js +12 -0
  294. package/esm/MultiRowLineRenderer/index.js.map +1 -0
  295. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  296. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +39 -0
  297. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  298. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  299. package/esm/MultiRowXYPlotRenderer/configSchema.js +26 -0
  300. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  301. package/esm/MultiRowXYPlotRenderer/index.d.ts +3 -0
  302. package/esm/MultiRowXYPlotRenderer/index.js +12 -0
  303. package/esm/MultiRowXYPlotRenderer/index.js.map +1 -0
  304. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  305. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +87 -0
  306. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  307. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -0
  308. package/esm/MultiWiggleAdapter/configSchema.js +12 -0
  309. package/esm/MultiWiggleAdapter/configSchema.js.map +1 -0
  310. package/esm/MultiWiggleAdapter/index.d.ts +3 -0
  311. package/esm/MultiWiggleAdapter/index.js +15 -0
  312. package/esm/MultiWiggleAdapter/index.js.map +1 -0
  313. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  314. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +87 -0
  315. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  316. package/esm/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  317. package/esm/MultiWiggleAddTrackWidget/index.js +12 -0
  318. package/esm/MultiWiggleAddTrackWidget/index.js.map +1 -0
  319. package/esm/MultiWiggleRendering.d.ts +21 -0
  320. package/esm/MultiWiggleRendering.js +75 -0
  321. package/esm/MultiWiggleRendering.js.map +1 -0
  322. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  323. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +28 -0
  324. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  325. package/esm/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  326. package/esm/MultiXYPlotRenderer/configSchema.js +26 -0
  327. package/esm/MultiXYPlotRenderer/configSchema.js.map +1 -0
  328. package/esm/MultiXYPlotRenderer/index.d.ts +3 -0
  329. package/esm/MultiXYPlotRenderer/index.js +12 -0
  330. package/esm/MultiXYPlotRenderer/index.js.map +1 -0
  331. package/esm/QuantitativeTrack/index.d.ts +3 -0
  332. package/esm/QuantitativeTrack/index.js +14 -0
  333. package/esm/QuantitativeTrack/index.js.map +1 -0
  334. package/esm/Tooltip.d.ts +20 -0
  335. package/esm/Tooltip.js +71 -0
  336. package/esm/Tooltip.js.map +1 -0
  337. package/esm/WiggleBaseRenderer.d.ts +54 -0
  338. package/esm/WiggleBaseRenderer.js +36 -0
  339. package/esm/WiggleBaseRenderer.js.map +1 -0
  340. package/esm/WiggleRPC/rpcMethods.d.ts +47 -0
  341. package/esm/WiggleRPC/rpcMethods.js +112 -0
  342. package/esm/WiggleRPC/rpcMethods.js.map +1 -0
  343. package/esm/WiggleRendering.d.ts +16 -0
  344. package/esm/WiggleRendering.js +36 -0
  345. package/esm/WiggleRendering.js.map +1 -0
  346. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +7 -0
  347. package/esm/XYPlotRenderer/XYPlotRenderer.js +26 -0
  348. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
  349. package/esm/XYPlotRenderer/configSchema.d.ts +2 -0
  350. package/esm/XYPlotRenderer/configSchema.js +26 -0
  351. package/esm/XYPlotRenderer/configSchema.js.map +1 -0
  352. package/esm/XYPlotRenderer/index.d.ts +7 -0
  353. package/esm/XYPlotRenderer/index.js +13 -0
  354. package/esm/XYPlotRenderer/index.js.map +1 -0
  355. package/esm/configSchema.d.ts +2 -0
  356. package/esm/configSchema.js +41 -0
  357. package/esm/configSchema.js.map +1 -0
  358. package/esm/drawxy.d.ts +50 -0
  359. package/esm/drawxy.js +286 -0
  360. package/esm/drawxy.js.map +1 -0
  361. package/esm/index.d.ts +975 -0
  362. package/esm/index.js +90 -0
  363. package/esm/index.js.map +1 -0
  364. package/esm/util.d.ts +74 -0
  365. package/esm/util.js +231 -0
  366. package/esm/util.js.map +1 -0
  367. package/package.json +32 -18
  368. package/src/BigWigAdapter/BigWigAdapter.ts +53 -35
  369. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +10 -10
  370. package/src/BigWigAdapter/configSchema.ts +5 -0
  371. package/src/BigWigAdapter/index.ts +19 -1
  372. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +66 -0
  373. package/src/CreateMultiWiggleExtension/index.ts +57 -0
  374. package/src/DensityRenderer/DensityRenderer.test.js +8 -2
  375. package/src/DensityRenderer/DensityRenderer.ts +14 -0
  376. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.js.snap +8 -0
  377. package/src/{LinePlotRenderer/index.js → DensityRenderer/configSchema.ts} +5 -5
  378. package/src/DensityRenderer/index.ts +14 -53
  379. package/src/LinePlotRenderer/LinePlotRenderer.ts +19 -0
  380. package/src/LinePlotRenderer/configSchema.ts +16 -0
  381. package/src/LinePlotRenderer/index.ts +16 -0
  382. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +26 -31
  383. package/src/LinearWiggleDisplay/components/SetMinMaxDialog.tsx +13 -11
  384. package/src/LinearWiggleDisplay/components/Tooltip.tsx +6 -121
  385. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +9 -4
  386. package/src/LinearWiggleDisplay/index.ts +24 -3
  387. package/src/LinearWiggleDisplay/models/model.tsx +139 -224
  388. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +39 -0
  389. package/src/MultiDensityRenderer/configSchema.ts +10 -0
  390. package/src/MultiDensityRenderer/index.ts +16 -0
  391. package/src/MultiLineRenderer/MultiLineRenderer.ts +29 -0
  392. package/src/MultiLineRenderer/configSchema.ts +24 -0
  393. package/src/MultiLineRenderer/index.ts +17 -0
  394. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +322 -0
  395. package/src/MultiLinearWiggleDisplay/components/SetMinMaxDialog.tsx +113 -0
  396. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +76 -0
  397. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +261 -0
  398. package/src/MultiLinearWiggleDisplay/components/YScaleBar.tsx +25 -0
  399. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +1 -0
  400. package/src/MultiLinearWiggleDisplay/components/util.test.ts +69 -0
  401. package/src/MultiLinearWiggleDisplay/components/util.ts +33 -0
  402. package/src/MultiLinearWiggleDisplay/index.ts +20 -0
  403. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +94 -0
  404. package/src/MultiLinearWiggleDisplay/models/model.tsx +721 -0
  405. package/src/MultiQuantitativeTrack/index.ts +26 -0
  406. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +36 -0
  407. package/src/MultiRowLineRenderer/configSchema.ts +25 -0
  408. package/src/MultiRowLineRenderer/index.ts +16 -0
  409. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +43 -0
  410. package/src/MultiRowXYPlotRenderer/configSchema.ts +33 -0
  411. package/src/MultiRowXYPlotRenderer/index.ts +16 -0
  412. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +120 -0
  413. package/src/MultiWiggleAdapter/configSchema.ts +16 -0
  414. package/src/MultiWiggleAdapter/index.ts +20 -0
  415. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  416. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +130 -0
  417. package/src/MultiWiggleAddTrackWidget/index.ts +17 -0
  418. package/src/MultiWiggleRendering.tsx +125 -0
  419. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +32 -0
  420. package/src/MultiXYPlotRenderer/configSchema.ts +31 -0
  421. package/src/MultiXYPlotRenderer/index.ts +17 -0
  422. package/src/QuantitativeTrack/index.ts +26 -0
  423. package/src/Tooltip.tsx +123 -0
  424. package/src/WiggleBaseRenderer.tsx +17 -11
  425. package/src/WiggleRPC/rpcMethods.ts +68 -17
  426. package/src/WiggleRendering.tsx +12 -18
  427. package/src/XYPlotRenderer/XYPlotRenderer.test.js +3 -1
  428. package/src/XYPlotRenderer/XYPlotRenderer.ts +19 -124
  429. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.js.snap +8 -0
  430. package/src/XYPlotRenderer/configSchema.ts +32 -0
  431. package/src/XYPlotRenderer/index.ts +16 -10
  432. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -2
  433. package/src/configSchema.ts +0 -28
  434. package/src/declare.d.ts +0 -1
  435. package/src/drawxy.ts +387 -0
  436. package/src/index.ts +75 -129
  437. package/src/util.ts +174 -0
  438. package/dist/BigWigAdapter/BigWigAdapter.test.js +0 -157
  439. package/dist/DensityRenderer/DensityRenderer.test.js +0 -88
  440. package/dist/WiggleRendering.test.js +0 -52
  441. package/dist/XYPlotRenderer/XYPlotRenderer.test.js +0 -87
  442. package/dist/declare.d.js +0 -1
  443. package/dist/index.test.js +0 -24
  444. package/dist/util.test.js +0 -66
  445. package/src/LinePlotRenderer/LinePlotRenderer.js +0 -91
  446. package/src/LinePlotRenderer/configSchema.js +0 -68
package/src/index.ts CHANGED
@@ -1,105 +1,77 @@
1
- import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType'
2
- import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType'
3
1
  import Plugin from '@jbrowse/core/Plugin'
4
2
  import PluginManager from '@jbrowse/core/PluginManager'
5
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
6
-
7
- import {
8
- createBaseTrackConfig,
9
- createBaseTrackModel,
10
- } from '@jbrowse/core/pluggableElementTypes/models'
11
- import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType'
12
3
  import { FileLocation } from '@jbrowse/core/util/types'
4
+ import {
5
+ AdapterGuesser,
6
+ getFileName,
7
+ TrackTypeGuesser,
8
+ } from '@jbrowse/core/util/tracks'
9
+
10
+ // locals
13
11
  import WiggleBaseRenderer from './WiggleBaseRenderer'
14
12
  import WiggleRendering from './WiggleRendering'
15
- import { configSchema as bigWigAdapterConfigSchema } from './BigWigAdapter'
16
- import DensityRenderer, {
17
- configSchema as densityRendererConfigSchema,
18
- ReactComponent as DensityRendererReactComponent,
19
- } from './DensityRenderer'
13
+ import BigWigAdapterF from './BigWigAdapter'
14
+ import QuantitativeTrackF from './QuantitativeTrack'
15
+ import MultiQuantitativeTrackF from './MultiQuantitativeTrack'
16
+ import MultiWiggleAdapterF from './MultiWiggleAdapter'
17
+ import DensityRendererF from './DensityRenderer'
18
+ import XYPlotRendererF from './XYPlotRenderer'
19
+ import LinePlotRendererF from './LinePlotRenderer'
20
+ import LinearWiggleDisplayF from './LinearWiggleDisplay'
21
+ import MultiLinearWiggleDisplayF from './MultiLinearWiggleDisplay'
22
+ import MultiXYPlotRendererF from './MultiXYPlotRenderer'
23
+ import MultiRowXYPlotRendererF from './MultiRowXYPlotRenderer'
24
+ import MultiDensityRendererF from './MultiDensityRenderer'
25
+ import MultiLineRendererF from './MultiLineRenderer'
26
+ import MultiRowLineRendererF from './MultiRowLineRenderer'
27
+ import CreateMultiWiggleExtensionF from './CreateMultiWiggleExtension'
28
+ import MultiWiggleAddTrackWidgetF from './MultiWiggleAddTrackWidget'
29
+
20
30
  import * as utils from './util'
21
- import {
22
- configSchemaFactory as linearWiggleDisplayConfigSchemaFactory,
23
- modelFactory as linearWiggleDisplayModelFactory,
24
- ReactComponent as LinearWiggleDisplayReactComponent,
25
- YSCALEBAR_LABEL_OFFSET,
26
- } from './LinearWiggleDisplay'
27
- import XYPlotRenderer, {
28
- configSchema as xyPlotRendererConfigSchema,
29
- ReactComponent as XYPlotRendererReactComponent,
30
- } from './XYPlotRenderer'
31
- import LinePlotRenderer, {
32
- configSchema as linePlotRendererConfigSchema,
33
- ReactComponent as LinePlotRendererReactComponent,
34
- } from './LinePlotRenderer'
31
+
35
32
  import {
36
33
  WiggleGetGlobalStats,
37
34
  WiggleGetMultiRegionStats,
35
+ MultiWiggleGetSources,
38
36
  } from './WiggleRPC/rpcMethods'
37
+
39
38
  import {
40
- AdapterGuesser,
41
- getFileName,
42
- TrackTypeGuesser,
43
- } from '@jbrowse/core/util/tracks'
39
+ ReactComponent as LinearWiggleDisplayReactComponent,
40
+ modelFactory as linearWiggleDisplayModelFactory,
41
+ Tooltip,
42
+ } from './LinearWiggleDisplay'
43
+ import { TooltipContentsComponent } from './Tooltip'
44
+ import {
45
+ ReactComponent as XYPlotRendererReactComponent,
46
+ configSchema as xyPlotRendererConfigSchema,
47
+ XYPlotRenderer,
48
+ } from './XYPlotRenderer'
44
49
 
45
50
  export default class WigglePlugin extends Plugin {
46
51
  name = 'WigglePlugin'
47
52
 
48
- install(pluginManager: PluginManager) {
49
- pluginManager.addTrackType(() => {
50
- const configSchema = ConfigurationSchema(
51
- 'QuantitativeTrack',
52
- {},
53
- { baseConfiguration: createBaseTrackConfig(pluginManager) },
54
- )
55
- return new TrackType({
56
- name: 'QuantitativeTrack',
57
- configSchema,
58
- stateModel: createBaseTrackModel(
59
- pluginManager,
60
- 'QuantitativeTrack',
61
- configSchema,
62
- ),
63
- })
64
- })
65
-
66
- pluginManager.addDisplayType(() => {
67
- const configSchema = linearWiggleDisplayConfigSchemaFactory(pluginManager)
68
- return new DisplayType({
69
- name: 'LinearWiggleDisplay',
70
- configSchema,
71
- stateModel: linearWiggleDisplayModelFactory(
72
- pluginManager,
73
- configSchema,
74
- ),
75
- trackType: 'QuantitativeTrack',
76
- viewType: 'LinearGenomeView',
77
- ReactComponent: LinearWiggleDisplayReactComponent,
78
- })
79
- })
53
+ install(pm: PluginManager) {
54
+ MultiWiggleAdapterF(pm)
55
+ BigWigAdapterF(pm)
56
+ QuantitativeTrackF(pm)
57
+ MultiQuantitativeTrackF(pm)
58
+ LinearWiggleDisplayF(pm)
59
+ MultiLinearWiggleDisplayF(pm)
60
+ LinePlotRendererF(pm)
61
+ XYPlotRendererF(pm)
62
+ DensityRendererF(pm)
63
+ MultiXYPlotRendererF(pm)
64
+ MultiRowXYPlotRendererF(pm)
65
+ MultiDensityRendererF(pm)
66
+ MultiLineRendererF(pm)
67
+ MultiRowLineRendererF(pm)
68
+ MultiWiggleAddTrackWidgetF(pm)
69
+ CreateMultiWiggleExtensionF(pm)
80
70
 
81
- pluginManager.addAdapterType(
82
- () =>
83
- new AdapterType({
84
- name: 'BigWigAdapter',
85
- configSchema: bigWigAdapterConfigSchema,
86
- adapterCapabilities: [
87
- 'hasResolution',
88
- 'hasLocalStats',
89
- 'hasGlobalStats',
90
- ],
91
- getAdapterClass: () =>
92
- import('./BigWigAdapter/BigWigAdapter').then(r => r.default),
93
- }),
94
- )
95
- pluginManager.addToExtensionPoint(
71
+ pm.addToExtensionPoint(
96
72
  'Core-guessAdapterForLocation',
97
- (adapterGuesser: AdapterGuesser) => {
98
- return (
99
- file: FileLocation,
100
- index?: FileLocation,
101
- adapterHint?: string,
102
- ) => {
73
+ (cb: AdapterGuesser) => {
74
+ return (file: FileLocation, index?: FileLocation, hint?: string) => {
103
75
  const regexGuess = /\.(bw|bigwig)$/i
104
76
  const adapterName = 'BigWigAdapter'
105
77
  const fileName = getFileName(file)
@@ -108,17 +80,17 @@ export default class WigglePlugin extends Plugin {
108
80
  bigWigLocation: file,
109
81
  }
110
82
 
111
- if (regexGuess.test(fileName) && !adapterHint) {
83
+ if (regexGuess.test(fileName) && !hint) {
112
84
  return obj
113
- } else if (adapterHint === adapterName) {
85
+ } else if (hint === adapterName) {
114
86
  return obj
115
87
  }
116
88
 
117
- return adapterGuesser(file, index, adapterHint)
89
+ return cb(file, index, hint)
118
90
  }
119
91
  },
120
92
  )
121
- pluginManager.addToExtensionPoint(
93
+ pm.addToExtensionPoint(
122
94
  'Core-guessTrackTypeForLocation',
123
95
  (trackTypeGuesser: TrackTypeGuesser) => {
124
96
  return (adapterName: string) => {
@@ -130,57 +102,31 @@ export default class WigglePlugin extends Plugin {
130
102
  },
131
103
  )
132
104
 
133
- pluginManager.addRendererType(
134
- () =>
135
- new DensityRenderer({
136
- name: 'DensityRenderer',
137
- ReactComponent: DensityRendererReactComponent,
138
- configSchema: densityRendererConfigSchema,
139
- pluginManager,
140
- }),
141
- )
142
-
143
- pluginManager.addRendererType(
144
- () =>
145
- new LinePlotRenderer({
146
- name: 'LinePlotRenderer',
147
- ReactComponent: LinePlotRendererReactComponent,
148
- configSchema: linePlotRendererConfigSchema,
149
- pluginManager,
150
- }),
151
- )
152
-
153
- pluginManager.addRendererType(
154
- () =>
155
- new XYPlotRenderer({
156
- name: 'XYPlotRenderer',
157
- ReactComponent: XYPlotRendererReactComponent,
158
- configSchema: xyPlotRendererConfigSchema,
159
- pluginManager,
160
- }),
161
- )
162
-
163
- pluginManager.addRpcMethod(() => new WiggleGetGlobalStats(pluginManager))
164
- pluginManager.addRpcMethod(
165
- () => new WiggleGetMultiRegionStats(pluginManager),
166
- )
105
+ pm.addRpcMethod(() => new WiggleGetGlobalStats(pm))
106
+ pm.addRpcMethod(() => new WiggleGetMultiRegionStats(pm))
107
+ pm.addRpcMethod(() => new MultiWiggleGetSources(pm))
167
108
  }
168
109
 
169
110
  exports = {
170
111
  LinearWiggleDisplayReactComponent,
171
112
  XYPlotRendererReactComponent,
172
113
  XYPlotRenderer,
114
+ WiggleBaseRenderer,
115
+
173
116
  xyPlotRendererConfigSchema,
174
117
  utils,
175
- WiggleBaseRenderer,
176
118
  linearWiggleDisplayModelFactory,
177
119
  }
178
120
  }
179
121
 
180
122
  export * from './util'
181
123
 
182
- export { WiggleRendering }
183
- export { WiggleBaseRenderer }
184
- export { LinearWiggleDisplayReactComponent, linearWiggleDisplayModelFactory }
185
- export { Tooltip } from './LinearWiggleDisplay/components/Tooltip'
186
- export { YSCALEBAR_LABEL_OFFSET }
124
+ export {
125
+ LinearWiggleDisplayReactComponent,
126
+ Tooltip,
127
+ WiggleRendering,
128
+ WiggleBaseRenderer,
129
+ linearWiggleDisplayModelFactory,
130
+ }
131
+
132
+ export type { TooltipContentsComponent }
package/src/util.ts CHANGED
@@ -1,4 +1,20 @@
1
1
  import { scaleLinear, scaleLog, scaleQuantize } from 'd3-scale'
2
+ import { autorun } from 'mobx'
3
+ import {
4
+ isAbortException,
5
+ getSession,
6
+ getContainingView,
7
+ } from '@jbrowse/core/util'
8
+ import { FeatureStats } from '@jbrowse/core/util/stats'
9
+ import { getRpcSessionId } from '@jbrowse/core/util/tracks'
10
+ import { addDisposer, isAlive } from 'mobx-state-tree'
11
+
12
+ import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
13
+ import { AnyConfigurationModel, getConf } from '@jbrowse/core/configuration'
14
+
15
+ type LGV = LinearGenomeViewModel
16
+
17
+ export const YSCALEBAR_LABEL_OFFSET = 5
2
18
 
3
19
  export interface ScaleOpts {
4
20
  domain: number[]
@@ -7,6 +23,13 @@ export interface ScaleOpts {
7
23
  pivotValue?: number
8
24
  inverted: boolean
9
25
  }
26
+
27
+ export interface Source {
28
+ name: string
29
+ color?: string
30
+ group?: string
31
+ }
32
+
10
33
  /**
11
34
  * produces a d3-scale from arguments. applies a "nice domain" adjustment
12
35
  *
@@ -143,3 +166,154 @@ export function getNiceDomain({
143
166
  scale.nice()
144
167
  return scale.domain() as [number, number]
145
168
  }
169
+
170
+ export function groupBy<T>(array: T[], predicate: (v: T) => string) {
171
+ return array.reduce((acc, value) => {
172
+ const entry = (acc[predicate(value)] ||= [])
173
+ entry.push(value)
174
+ return acc
175
+ }, {} as { [key: string]: T[] })
176
+ }
177
+
178
+ export async function getStats(
179
+ self: {
180
+ adapterConfig: AnyConfigurationModel
181
+ autoscaleType: string
182
+ setMessage: (str: string) => void
183
+ },
184
+ opts: {
185
+ headers?: Record<string, string>
186
+ signal?: AbortSignal
187
+ filters?: string[]
188
+ },
189
+ ): Promise<FeatureStats> {
190
+ const { rpcManager } = getSession(self)
191
+ const nd = getConf(self, 'numStdDev') || 3
192
+ const { adapterConfig, autoscaleType } = self
193
+ const sessionId = getRpcSessionId(self)
194
+ const params = {
195
+ sessionId,
196
+ adapterConfig,
197
+ statusCallback: (message: string) => {
198
+ if (isAlive(self)) {
199
+ self.setMessage(message)
200
+ }
201
+ },
202
+ ...opts,
203
+ }
204
+
205
+ if (autoscaleType === 'global' || autoscaleType === 'globalsd') {
206
+ const results: FeatureStats = (await rpcManager.call(
207
+ sessionId,
208
+ 'WiggleGetGlobalStats',
209
+ params,
210
+ )) as FeatureStats
211
+ const { scoreMin, scoreMean, scoreStdDev } = results
212
+ // globalsd uses heuristic to avoid unnecessary scoreMin<0
213
+ // if the scoreMin is never less than 0
214
+ // helps with most coverage bigwigs just being >0
215
+ return autoscaleType === 'globalsd'
216
+ ? {
217
+ ...results,
218
+ scoreMin: scoreMin >= 0 ? 0 : scoreMean - nd * scoreStdDev,
219
+ scoreMax: scoreMean + nd * scoreStdDev,
220
+ }
221
+ : results
222
+ }
223
+ if (autoscaleType === 'local' || autoscaleType === 'localsd') {
224
+ const { dynamicBlocks, bpPerPx } = getContainingView(self) as LGV
225
+ const results = (await rpcManager.call(
226
+ sessionId,
227
+ 'WiggleGetMultiRegionStats',
228
+ {
229
+ ...params,
230
+ regions: dynamicBlocks.contentBlocks.map(region => {
231
+ const { start, end } = region
232
+ return {
233
+ ...JSON.parse(JSON.stringify(region)),
234
+ start: Math.floor(start),
235
+ end: Math.ceil(end),
236
+ }
237
+ }),
238
+ bpPerPx,
239
+ },
240
+ )) as FeatureStats
241
+ const { scoreMin, scoreMean, scoreStdDev } = results
242
+
243
+ // localsd uses heuristic to avoid unnecessary scoreMin<0 if the
244
+ // scoreMin is never less than 0 helps with most coverage bigwigs
245
+ // just being >0
246
+ return autoscaleType === 'localsd'
247
+ ? {
248
+ ...results,
249
+ scoreMin: scoreMin >= 0 ? 0 : scoreMean - nd * scoreStdDev,
250
+ scoreMax: scoreMean + nd * scoreStdDev,
251
+ }
252
+ : results
253
+ }
254
+ if (autoscaleType === 'zscale') {
255
+ return rpcManager.call(
256
+ sessionId,
257
+ 'WiggleGetGlobalStats',
258
+ params,
259
+ ) as Promise<FeatureStats>
260
+ }
261
+ throw new Error(`invalid autoscaleType '${autoscaleType}'`)
262
+ }
263
+
264
+ export function statsAutorun(self: {
265
+ estimatedStatsReady: boolean
266
+ regionTooLarge: boolean
267
+ setLoading: (aborter: AbortController) => void
268
+ setError: (error: unknown) => void
269
+ updateStats: (stats: FeatureStats, statsRegion: string) => void
270
+ renderProps: () => Record<string, unknown>
271
+ adapterConfig: AnyConfigurationModel
272
+ autoscaleType: string
273
+ setMessage: (str: string) => void
274
+ }) {
275
+ addDisposer(
276
+ self,
277
+ autorun(
278
+ async () => {
279
+ try {
280
+ const aborter = new AbortController()
281
+ const view = getContainingView(self) as LGV
282
+ self.setLoading(aborter)
283
+
284
+ if (
285
+ !view.initialized ||
286
+ !self.estimatedStatsReady ||
287
+ self.regionTooLarge
288
+ ) {
289
+ return
290
+ }
291
+ const statsRegion = JSON.stringify(view.dynamicBlocks)
292
+
293
+ const wiggleStats = await getStats(self, {
294
+ signal: aborter.signal,
295
+ ...self.renderProps(),
296
+ })
297
+
298
+ if (isAlive(self)) {
299
+ self.updateStats(wiggleStats, statsRegion)
300
+ }
301
+ } catch (e) {
302
+ if (!isAbortException(e) && isAlive(self)) {
303
+ console.error(e)
304
+ self.setError(e)
305
+ }
306
+ }
307
+ },
308
+ { delay: 1000 },
309
+ ),
310
+ )
311
+ }
312
+
313
+ export function toP(s = 0) {
314
+ return +(+s).toPrecision(6)
315
+ }
316
+
317
+ export function round(value: number) {
318
+ return Math.round(value * 1e5) / 1e5
319
+ }
@@ -1,157 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
- var _operators = require("rxjs/operators");
10
-
11
- var _BigWigAdapter = _interopRequireDefault(require("./BigWigAdapter"));
12
-
13
- var _configSchema = _interopRequireDefault(require("./configSchema"));
14
-
15
- describe('adapter can fetch features from volvox.bw', function () {
16
- var adapter;
17
- beforeEach(function () {
18
- adapter = new _BigWigAdapter.default(_configSchema.default.create({
19
- bigWigLocation: {
20
- localPath: require.resolve('./test_data/volvox.bw'),
21
- locationType: 'LocalPathLocation'
22
- }
23
- }));
24
- });
25
- it('test basic aspects of getfeatures', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
26
- var features, featuresArray, featuresJsonArray;
27
- return _regenerator.default.wrap(function _callee$(_context) {
28
- while (1) {
29
- switch (_context.prev = _context.next) {
30
- case 0:
31
- features = adapter.getFeatures({
32
- refName: 'ctgA',
33
- start: 0,
34
- end: 20000,
35
- assemblyName: 'volvox'
36
- });
37
- _context.t0 = expect;
38
- _context.next = 4;
39
- return adapter.refIdToName(0);
40
-
41
- case 4:
42
- _context.t1 = _context.sent;
43
- (0, _context.t0)(_context.t1).toBe('ctgA');
44
- _context.t2 = expect;
45
- _context.next = 9;
46
- return adapter.refIdToName(1);
47
-
48
- case 9:
49
- _context.t3 = _context.sent;
50
- (0, _context.t2)(_context.t3).toBe(undefined);
51
- _context.t4 = expect;
52
- _context.next = 14;
53
- return adapter.hasDataForRefName('ctgA');
54
-
55
- case 14:
56
- _context.t5 = _context.sent;
57
- (0, _context.t4)(_context.t5).toBe(true);
58
- _context.t6 = expect;
59
- _context.next = 19;
60
- return adapter.hasDataForRefName('ctgB');
61
-
62
- case 19:
63
- _context.t7 = _context.sent;
64
- (0, _context.t6)(_context.t7).toBe(false);
65
- _context.next = 23;
66
- return features.pipe((0, _operators.toArray)()).toPromise();
67
-
68
- case 23:
69
- featuresArray = _context.sent;
70
- featuresJsonArray = featuresArray.map(function (f) {
71
- return f.toJSON();
72
- });
73
- expect(featuresJsonArray.slice(1000, 1010)).toMatchSnapshot();
74
-
75
- case 26:
76
- case "end":
77
- return _context.stop();
78
- }
79
- }
80
- }, _callee);
81
- })));
82
- it('adapter can fetch stats from volvox.bw', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
83
- return _regenerator.default.wrap(function _callee2$(_context2) {
84
- while (1) {
85
- switch (_context2.prev = _context2.next) {
86
- case 0:
87
- _context2.t0 = expect;
88
- _context2.next = 3;
89
- return adapter.getGlobalStats();
90
-
91
- case 3:
92
- _context2.t1 = _context2.sent;
93
- (0, _context2.t0)(_context2.t1).toMatchSnapshot();
94
-
95
- case 5:
96
- case "end":
97
- return _context2.stop();
98
- }
99
- }
100
- }, _callee2);
101
- })));
102
- it('get region stats', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
103
- return _regenerator.default.wrap(function _callee3$(_context3) {
104
- while (1) {
105
- switch (_context3.prev = _context3.next) {
106
- case 0:
107
- _context3.t0 = expect;
108
- _context3.next = 3;
109
- return adapter.getRegionStats({
110
- refName: 'ctgA',
111
- start: 10000,
112
- end: 40000,
113
- assemblyName: 'volvox'
114
- });
115
-
116
- case 3:
117
- _context3.t1 = _context3.sent;
118
- (0, _context3.t0)(_context3.t1).toMatchSnapshot();
119
-
120
- case 5:
121
- case "end":
122
- return _context3.stop();
123
- }
124
- }
125
- }, _callee3);
126
- })));
127
- it('get local stats', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
128
- return _regenerator.default.wrap(function _callee4$(_context4) {
129
- while (1) {
130
- switch (_context4.prev = _context4.next) {
131
- case 0:
132
- _context4.t0 = expect;
133
- _context4.next = 3;
134
- return adapter.getMultiRegionStats([{
135
- refName: 'ctgA',
136
- start: 10000,
137
- end: 39999,
138
- assemblyName: 'volvox'
139
- }, {
140
- refName: 'ctgB',
141
- start: 0,
142
- end: 99,
143
- assemblyName: 'volvox'
144
- }]);
145
-
146
- case 3:
147
- _context4.t1 = _context4.sent;
148
- (0, _context4.t0)(_context4.t1).toMatchSnapshot();
149
-
150
- case 5:
151
- case "end":
152
- return _context4.stop();
153
- }
154
- }
155
- }, _callee4);
156
- })));
157
- });
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
8
-
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
-
11
- var _simpleFeature = _interopRequireDefault(require("@jbrowse/core/util/simpleFeature"));
12
-
13
- var _offscreenCanvasUtils = require("@jbrowse/core/util/offscreenCanvasUtils");
14
-
15
- var _ = _interopRequireWildcard(require("."));
16
-
17
- var _canvas = require("canvas");
18
-
19
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
-
21
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
-
23
- global.nodeImage = _canvas.Image;
24
- global.nodeCreateCanvas = _canvas.createCanvas;
25
- var pluginManager = {};
26
- var renderer = new _.default({
27
- name: 'DensityRenderer',
28
- ReactComponent: _.ReactComponent,
29
- configSchema: _.configSchema,
30
- pluginManager: pluginManager
31
- });
32
- test('inverted mode and reversed', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
33
- var renderProps, res;
34
- return _regenerator.default.wrap(function _callee$(_context) {
35
- while (1) {
36
- switch (_context.prev = _context.next) {
37
- case 0:
38
- renderProps = {
39
- features: [new _simpleFeature.default({
40
- id: 't1',
41
- data: {
42
- start: 1,
43
- end: 100,
44
- score: 1
45
- }
46
- }), new _simpleFeature.default({
47
- id: 't2',
48
- data: {
49
- start: 101,
50
- end: 200,
51
- score: 2
52
- }
53
- })],
54
- regions: [{
55
- end: 100,
56
- start: 1,
57
- reversed: true,
58
- refName: 'ctgA',
59
- assemblyName: 'volvox'
60
- }],
61
- scaleOpts: {
62
- domain: [0, 100],
63
- inverted: true,
64
- scaleType: 'linear'
65
- },
66
- bpPerPx: 3,
67
- highResolutionScaling: 1,
68
- config: {},
69
- height: 100
70
- };
71
- _context.next = 3;
72
- return (0, _offscreenCanvasUtils.renderToAbstractCanvas)(1000, 200, renderProps, function (ctx) {
73
- return renderer.draw(ctx, renderProps);
74
- });
75
-
76
- case 3:
77
- res = _context.sent;
78
- expect(res).toMatchSnapshot({
79
- imageData: expect.any(Object)
80
- });
81
-
82
- case 5:
83
- case "end":
84
- return _context.stop();
85
- }
86
- }
87
- }, _callee);
88
- })));