@jbrowse/plugin-wiggle 2.0.1 → 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 (414) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  2. package/dist/BigWigAdapter/BigWigAdapter.js +59 -29
  3. package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -1
  4. package/dist/BigWigAdapter/configSchema.js +5 -0
  5. package/dist/BigWigAdapter/configSchema.js.map +1 -1
  6. package/dist/BigWigAdapter/index.d.ts +3 -1
  7. package/dist/BigWigAdapter/index.js +39 -3
  8. package/dist/BigWigAdapter/index.js.map +1 -1
  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 +12 -149
  23. package/dist/DensityRenderer/index.js.map +1 -1
  24. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  25. package/dist/LinePlotRenderer/LinePlotRenderer.js +4 -103
  26. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +1 -1
  27. package/dist/LinePlotRenderer/configSchema.d.ts +2 -0
  28. package/dist/LinePlotRenderer/configSchema.js +16 -0
  29. package/dist/LinePlotRenderer/configSchema.js.map +1 -0
  30. package/dist/LinePlotRenderer/index.d.ts +3 -3
  31. package/dist/LinePlotRenderer/index.js +13 -14
  32. package/dist/LinePlotRenderer/index.js.map +1 -1
  33. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +6 -2
  34. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +8 -16
  35. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
  36. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  37. package/dist/LinearWiggleDisplay/components/Tooltip.js +11 -122
  38. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
  39. package/dist/LinearWiggleDisplay/index.d.ts +7 -3
  40. package/dist/LinearWiggleDisplay/index.js +23 -8
  41. package/dist/LinearWiggleDisplay/index.js.map +1 -1
  42. package/dist/LinearWiggleDisplay/models/model.d.ts +24 -5
  43. package/dist/LinearWiggleDisplay/models/model.js +79 -126
  44. package/dist/LinearWiggleDisplay/models/model.js.map +1 -1
  45. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  46. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +135 -0
  47. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  48. package/dist/MultiDensityRenderer/configSchema.d.ts +2 -0
  49. package/dist/MultiDensityRenderer/configSchema.js +10 -0
  50. package/dist/MultiDensityRenderer/configSchema.js.map +1 -0
  51. package/dist/MultiDensityRenderer/index.d.ts +3 -0
  52. package/dist/MultiDensityRenderer/index.js +19 -0
  53. package/dist/MultiDensityRenderer/index.js.map +1 -0
  54. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  55. package/dist/MultiLineRenderer/MultiLineRenderer.js +124 -0
  56. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  57. package/dist/MultiLineRenderer/configSchema.d.ts +2 -0
  58. package/dist/MultiLineRenderer/configSchema.js +23 -0
  59. package/dist/MultiLineRenderer/configSchema.js.map +1 -0
  60. package/dist/MultiLineRenderer/index.d.ts +3 -0
  61. package/dist/MultiLineRenderer/index.js +19 -0
  62. package/dist/MultiLineRenderer/index.js.map +1 -0
  63. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  64. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +239 -0
  65. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  66. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  67. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +91 -0
  68. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  69. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  70. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +78 -0
  71. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  72. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  73. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +144 -0
  74. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  75. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  76. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js +26 -0
  77. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  78. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  79. package/dist/MultiLinearWiggleDisplay/components/util.js +38 -0
  80. package/dist/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  81. package/dist/MultiLinearWiggleDisplay/index.d.ts +3 -0
  82. package/dist/MultiLinearWiggleDisplay/index.js +23 -0
  83. package/dist/MultiLinearWiggleDisplay/index.js.map +1 -0
  84. package/dist/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  85. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +77 -0
  86. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  87. package/dist/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  88. package/dist/MultiLinearWiggleDisplay/models/model.js +675 -0
  89. package/dist/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  90. package/dist/MultiQuantitativeTrack/index.d.ts +3 -0
  91. package/dist/MultiQuantitativeTrack/index.js +19 -0
  92. package/dist/MultiQuantitativeTrack/index.js.map +1 -0
  93. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  94. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +131 -0
  95. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  96. package/dist/MultiRowLineRenderer/configSchema.d.ts +2 -0
  97. package/dist/MultiRowLineRenderer/configSchema.js +23 -0
  98. package/dist/MultiRowLineRenderer/configSchema.js.map +1 -0
  99. package/dist/MultiRowLineRenderer/index.d.ts +3 -0
  100. package/dist/MultiRowLineRenderer/index.js +19 -0
  101. package/dist/MultiRowLineRenderer/index.js.map +1 -0
  102. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  103. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +164 -0
  104. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  105. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  106. package/dist/MultiRowXYPlotRenderer/configSchema.js +31 -0
  107. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  108. package/dist/MultiRowXYPlotRenderer/index.d.ts +3 -0
  109. package/dist/MultiRowXYPlotRenderer/index.js +19 -0
  110. package/dist/MultiRowXYPlotRenderer/index.js.map +1 -0
  111. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  112. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +244 -0
  113. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  114. package/dist/MultiWiggleAdapter/configSchema.d.ts +2 -0
  115. package/dist/MultiWiggleAdapter/configSchema.js +14 -0
  116. package/dist/MultiWiggleAdapter/configSchema.js.map +1 -0
  117. package/dist/MultiWiggleAdapter/index.d.ts +3 -0
  118. package/dist/MultiWiggleAdapter/index.js +47 -0
  119. package/dist/MultiWiggleAdapter/index.js.map +1 -0
  120. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  121. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +139 -0
  122. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  123. package/dist/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  124. package/dist/MultiWiggleAddTrackWidget/index.js +19 -0
  125. package/dist/MultiWiggleAddTrackWidget/index.js.map +1 -0
  126. package/dist/MultiWiggleRendering.d.ts +21 -0
  127. package/dist/MultiWiggleRendering.js +164 -0
  128. package/dist/MultiWiggleRendering.js.map +1 -0
  129. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  130. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +153 -0
  131. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  132. package/dist/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  133. package/dist/MultiXYPlotRenderer/configSchema.js +31 -0
  134. package/dist/MultiXYPlotRenderer/configSchema.js.map +1 -0
  135. package/dist/MultiXYPlotRenderer/index.d.ts +3 -0
  136. package/dist/MultiXYPlotRenderer/index.js +19 -0
  137. package/dist/MultiXYPlotRenderer/index.js.map +1 -0
  138. package/dist/QuantitativeTrack/index.d.ts +3 -0
  139. package/dist/QuantitativeTrack/index.js +19 -0
  140. package/dist/QuantitativeTrack/index.js.map +1 -0
  141. package/dist/Tooltip.d.ts +20 -0
  142. package/dist/Tooltip.js +124 -0
  143. package/dist/Tooltip.js.map +1 -0
  144. package/dist/WiggleBaseRenderer.d.ts +9 -10
  145. package/dist/WiggleBaseRenderer.js +23 -10
  146. package/dist/WiggleBaseRenderer.js.map +1 -1
  147. package/dist/WiggleRPC/rpcMethods.d.ts +17 -1
  148. package/dist/WiggleRPC/rpcMethods.js +91 -16
  149. package/dist/WiggleRPC/rpcMethods.js.map +1 -1
  150. package/dist/WiggleRendering.d.ts +1 -1
  151. package/dist/WiggleRendering.js +4 -8
  152. package/dist/WiggleRendering.js.map +1 -1
  153. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  154. package/dist/XYPlotRenderer/XYPlotRenderer.js +23 -126
  155. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +1 -1
  156. package/dist/XYPlotRenderer/configSchema.d.ts +2 -0
  157. package/dist/XYPlotRenderer/configSchema.js +31 -0
  158. package/dist/XYPlotRenderer/configSchema.js.map +1 -0
  159. package/dist/XYPlotRenderer/index.d.ts +7 -3
  160. package/dist/XYPlotRenderer/index.js +17 -25
  161. package/dist/XYPlotRenderer/index.js.map +1 -1
  162. package/dist/configSchema.js +0 -5
  163. package/dist/configSchema.js.map +1 -1
  164. package/dist/drawxy.d.ts +50 -0
  165. package/dist/drawxy.js +411 -0
  166. package/dist/drawxy.js.map +1 -0
  167. package/dist/index.d.ts +79 -21
  168. package/dist/index.js +56 -89
  169. package/dist/index.js.map +1 -1
  170. package/dist/util.d.ts +34 -1
  171. package/dist/util.js +159 -1
  172. package/dist/util.js.map +1 -1
  173. package/esm/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  174. package/esm/BigWigAdapter/BigWigAdapter.js +37 -18
  175. package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -1
  176. package/esm/BigWigAdapter/configSchema.js +5 -0
  177. package/esm/BigWigAdapter/configSchema.js.map +1 -1
  178. package/esm/BigWigAdapter/index.d.ts +3 -1
  179. package/esm/BigWigAdapter/index.js +14 -1
  180. package/esm/BigWigAdapter/index.js.map +1 -1
  181. package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +9 -0
  182. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +26 -0
  183. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -0
  184. package/esm/CreateMultiWiggleExtension/index.d.ts +2 -0
  185. package/esm/CreateMultiWiggleExtension/index.js +51 -0
  186. package/esm/CreateMultiWiggleExtension/index.js.map +1 -0
  187. package/esm/DensityRenderer/DensityRenderer.d.ts +6 -0
  188. package/esm/DensityRenderer/DensityRenderer.js +8 -0
  189. package/esm/DensityRenderer/DensityRenderer.js.map +1 -0
  190. package/esm/DensityRenderer/configSchema.d.ts +2 -0
  191. package/esm/DensityRenderer/configSchema.js +5 -0
  192. package/esm/DensityRenderer/configSchema.js.map +1 -0
  193. package/esm/DensityRenderer/index.d.ts +3 -6
  194. package/esm/DensityRenderer/index.js +11 -38
  195. package/esm/DensityRenderer/index.js.map +1 -1
  196. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  197. package/esm/LinePlotRenderer/LinePlotRenderer.js +7 -65
  198. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +1 -1
  199. package/esm/LinePlotRenderer/configSchema.d.ts +2 -0
  200. package/esm/LinePlotRenderer/configSchema.js +11 -0
  201. package/esm/LinePlotRenderer/configSchema.js.map +1 -0
  202. package/esm/LinePlotRenderer/index.d.ts +3 -3
  203. package/esm/LinePlotRenderer/index.js +11 -11
  204. package/esm/LinePlotRenderer/index.js.map +1 -1
  205. package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +6 -2
  206. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +9 -16
  207. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
  208. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  209. package/esm/LinearWiggleDisplay/components/Tooltip.js +3 -76
  210. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
  211. package/esm/LinearWiggleDisplay/index.d.ts +7 -3
  212. package/esm/LinearWiggleDisplay/index.js +20 -3
  213. package/esm/LinearWiggleDisplay/index.js.map +1 -1
  214. package/esm/LinearWiggleDisplay/models/model.d.ts +24 -5
  215. package/esm/LinearWiggleDisplay/models/model.js +87 -133
  216. package/esm/LinearWiggleDisplay/models/model.js.map +1 -1
  217. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  218. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +36 -0
  219. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  220. package/esm/MultiDensityRenderer/configSchema.d.ts +2 -0
  221. package/esm/MultiDensityRenderer/configSchema.js +5 -0
  222. package/esm/MultiDensityRenderer/configSchema.js.map +1 -0
  223. package/esm/MultiDensityRenderer/index.d.ts +3 -0
  224. package/esm/MultiDensityRenderer/index.js +12 -0
  225. package/esm/MultiDensityRenderer/index.js.map +1 -0
  226. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  227. package/esm/MultiLineRenderer/MultiLineRenderer.js +25 -0
  228. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  229. package/esm/MultiLineRenderer/configSchema.d.ts +2 -0
  230. package/esm/MultiLineRenderer/configSchema.js +18 -0
  231. package/esm/MultiLineRenderer/configSchema.js.map +1 -0
  232. package/esm/MultiLineRenderer/index.d.ts +3 -0
  233. package/esm/MultiLineRenderer/index.js +12 -0
  234. package/esm/MultiLineRenderer/index.js.map +1 -0
  235. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  236. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +162 -0
  237. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  238. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  239. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  240. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  241. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  242. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +43 -0
  243. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  244. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  245. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +99 -0
  246. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  247. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  248. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js +9 -0
  249. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  250. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  251. package/esm/MultiLinearWiggleDisplay/components/util.js +31 -0
  252. package/esm/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  253. package/esm/MultiLinearWiggleDisplay/index.d.ts +3 -0
  254. package/esm/MultiLinearWiggleDisplay/index.js +18 -0
  255. package/esm/MultiLinearWiggleDisplay/index.js.map +1 -0
  256. package/esm/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  257. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +74 -0
  258. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  259. package/esm/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  260. package/esm/MultiLinearWiggleDisplay/models/model.js +570 -0
  261. package/esm/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  262. package/esm/MultiQuantitativeTrack/index.d.ts +3 -0
  263. package/esm/MultiQuantitativeTrack/index.js +14 -0
  264. package/esm/MultiQuantitativeTrack/index.js.map +1 -0
  265. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  266. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +33 -0
  267. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  268. package/esm/MultiRowLineRenderer/configSchema.d.ts +2 -0
  269. package/esm/MultiRowLineRenderer/configSchema.js +18 -0
  270. package/esm/MultiRowLineRenderer/configSchema.js.map +1 -0
  271. package/esm/MultiRowLineRenderer/index.d.ts +3 -0
  272. package/esm/MultiRowLineRenderer/index.js +12 -0
  273. package/esm/MultiRowLineRenderer/index.js.map +1 -0
  274. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  275. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +39 -0
  276. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  277. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  278. package/esm/MultiRowXYPlotRenderer/configSchema.js +26 -0
  279. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  280. package/esm/MultiRowXYPlotRenderer/index.d.ts +3 -0
  281. package/esm/MultiRowXYPlotRenderer/index.js +12 -0
  282. package/esm/MultiRowXYPlotRenderer/index.js.map +1 -0
  283. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  284. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +87 -0
  285. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  286. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -0
  287. package/esm/MultiWiggleAdapter/configSchema.js +12 -0
  288. package/esm/MultiWiggleAdapter/configSchema.js.map +1 -0
  289. package/esm/MultiWiggleAdapter/index.d.ts +3 -0
  290. package/esm/MultiWiggleAdapter/index.js +15 -0
  291. package/esm/MultiWiggleAdapter/index.js.map +1 -0
  292. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  293. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +87 -0
  294. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  295. package/esm/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  296. package/esm/MultiWiggleAddTrackWidget/index.js +12 -0
  297. package/esm/MultiWiggleAddTrackWidget/index.js.map +1 -0
  298. package/esm/MultiWiggleRendering.d.ts +21 -0
  299. package/esm/MultiWiggleRendering.js +75 -0
  300. package/esm/MultiWiggleRendering.js.map +1 -0
  301. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  302. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +28 -0
  303. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  304. package/esm/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  305. package/esm/MultiXYPlotRenderer/configSchema.js +26 -0
  306. package/esm/MultiXYPlotRenderer/configSchema.js.map +1 -0
  307. package/esm/MultiXYPlotRenderer/index.d.ts +3 -0
  308. package/esm/MultiXYPlotRenderer/index.js +12 -0
  309. package/esm/MultiXYPlotRenderer/index.js.map +1 -0
  310. package/esm/QuantitativeTrack/index.d.ts +3 -0
  311. package/esm/QuantitativeTrack/index.js +14 -0
  312. package/esm/QuantitativeTrack/index.js.map +1 -0
  313. package/esm/Tooltip.d.ts +20 -0
  314. package/esm/Tooltip.js +71 -0
  315. package/esm/Tooltip.js.map +1 -0
  316. package/esm/WiggleBaseRenderer.d.ts +9 -10
  317. package/esm/WiggleBaseRenderer.js +7 -5
  318. package/esm/WiggleBaseRenderer.js.map +1 -1
  319. package/esm/WiggleRPC/rpcMethods.d.ts +17 -1
  320. package/esm/WiggleRPC/rpcMethods.js +49 -7
  321. package/esm/WiggleRPC/rpcMethods.js.map +1 -1
  322. package/esm/WiggleRendering.d.ts +1 -1
  323. package/esm/WiggleRendering.js +4 -8
  324. package/esm/WiggleRendering.js.map +1 -1
  325. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  326. package/esm/XYPlotRenderer/XYPlotRenderer.js +16 -99
  327. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +1 -1
  328. package/esm/XYPlotRenderer/configSchema.d.ts +2 -0
  329. package/esm/XYPlotRenderer/configSchema.js +26 -0
  330. package/esm/XYPlotRenderer/configSchema.js.map +1 -0
  331. package/esm/XYPlotRenderer/index.d.ts +7 -3
  332. package/esm/XYPlotRenderer/index.js +12 -22
  333. package/esm/XYPlotRenderer/index.js.map +1 -1
  334. package/esm/configSchema.js +0 -5
  335. package/esm/configSchema.js.map +1 -1
  336. package/esm/drawxy.d.ts +50 -0
  337. package/esm/drawxy.js +286 -0
  338. package/esm/drawxy.js.map +1 -0
  339. package/esm/index.d.ts +79 -21
  340. package/esm/index.js +49 -74
  341. package/esm/index.js.map +1 -1
  342. package/esm/util.d.ts +34 -1
  343. package/esm/util.js +108 -0
  344. package/esm/util.js.map +1 -1
  345. package/package.json +11 -5
  346. package/src/BigWigAdapter/BigWigAdapter.ts +53 -35
  347. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +10 -10
  348. package/src/BigWigAdapter/configSchema.ts +5 -0
  349. package/src/BigWigAdapter/index.ts +19 -1
  350. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +66 -0
  351. package/src/CreateMultiWiggleExtension/index.ts +57 -0
  352. package/src/DensityRenderer/DensityRenderer.test.js +8 -2
  353. package/src/DensityRenderer/DensityRenderer.ts +14 -0
  354. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.js.snap +8 -0
  355. package/src/DensityRenderer/configSchema.ts +11 -0
  356. package/src/DensityRenderer/index.ts +14 -53
  357. package/src/LinePlotRenderer/LinePlotRenderer.ts +19 -0
  358. package/src/LinePlotRenderer/{index.js → configSchema.ts} +3 -4
  359. package/src/LinePlotRenderer/index.ts +16 -0
  360. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +17 -19
  361. package/src/LinearWiggleDisplay/components/Tooltip.tsx +6 -122
  362. package/src/LinearWiggleDisplay/index.ts +24 -3
  363. package/src/LinearWiggleDisplay/models/model.tsx +98 -174
  364. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +39 -0
  365. package/src/MultiDensityRenderer/configSchema.ts +10 -0
  366. package/src/MultiDensityRenderer/index.ts +16 -0
  367. package/src/MultiLineRenderer/MultiLineRenderer.ts +29 -0
  368. package/src/MultiLineRenderer/configSchema.ts +24 -0
  369. package/src/MultiLineRenderer/index.ts +17 -0
  370. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +322 -0
  371. package/src/MultiLinearWiggleDisplay/components/SetMinMaxDialog.tsx +113 -0
  372. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +76 -0
  373. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +261 -0
  374. package/src/MultiLinearWiggleDisplay/components/YScaleBar.tsx +25 -0
  375. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +1 -0
  376. package/src/MultiLinearWiggleDisplay/components/util.test.ts +69 -0
  377. package/src/MultiLinearWiggleDisplay/components/util.ts +33 -0
  378. package/src/MultiLinearWiggleDisplay/index.ts +20 -0
  379. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +94 -0
  380. package/src/MultiLinearWiggleDisplay/models/model.tsx +721 -0
  381. package/src/MultiQuantitativeTrack/index.ts +26 -0
  382. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +36 -0
  383. package/src/MultiRowLineRenderer/configSchema.ts +25 -0
  384. package/src/MultiRowLineRenderer/index.ts +16 -0
  385. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +43 -0
  386. package/src/MultiRowXYPlotRenderer/configSchema.ts +33 -0
  387. package/src/MultiRowXYPlotRenderer/index.ts +16 -0
  388. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +120 -0
  389. package/src/MultiWiggleAdapter/configSchema.ts +16 -0
  390. package/src/MultiWiggleAdapter/index.ts +20 -0
  391. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  392. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +130 -0
  393. package/src/MultiWiggleAddTrackWidget/index.ts +17 -0
  394. package/src/MultiWiggleRendering.tsx +125 -0
  395. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +32 -0
  396. package/src/MultiXYPlotRenderer/configSchema.ts +31 -0
  397. package/src/MultiXYPlotRenderer/index.ts +17 -0
  398. package/src/QuantitativeTrack/index.ts +26 -0
  399. package/src/Tooltip.tsx +123 -0
  400. package/src/WiggleBaseRenderer.tsx +15 -9
  401. package/src/WiggleRPC/rpcMethods.ts +68 -17
  402. package/src/WiggleRendering.tsx +12 -18
  403. package/src/XYPlotRenderer/XYPlotRenderer.test.js +3 -1
  404. package/src/XYPlotRenderer/XYPlotRenderer.ts +19 -171
  405. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.js.snap +8 -0
  406. package/src/XYPlotRenderer/configSchema.ts +32 -0
  407. package/src/XYPlotRenderer/index.ts +16 -27
  408. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -2
  409. package/src/configSchema.ts +0 -5
  410. package/src/declare.d.ts +0 -1
  411. package/src/drawxy.ts +387 -0
  412. package/src/index.ts +75 -129
  413. package/src/util.ts +174 -0
  414. package/src/LinePlotRenderer/LinePlotRenderer.js +0 -91
package/esm/index.d.ts CHANGED
@@ -4,11 +4,12 @@ import PluginManager from '@jbrowse/core/PluginManager';
4
4
  import WiggleBaseRenderer from './WiggleBaseRenderer';
5
5
  import WiggleRendering from './WiggleRendering';
6
6
  import * as utils from './util';
7
- import { modelFactory as linearWiggleDisplayModelFactory, ReactComponent as LinearWiggleDisplayReactComponent, YSCALEBAR_LABEL_OFFSET } from './LinearWiggleDisplay';
8
- import XYPlotRenderer from './XYPlotRenderer';
7
+ import { ReactComponent as LinearWiggleDisplayReactComponent, modelFactory as linearWiggleDisplayModelFactory, Tooltip } from './LinearWiggleDisplay';
8
+ import { TooltipContentsComponent } from './Tooltip';
9
+ import { XYPlotRenderer } from './XYPlotRenderer';
9
10
  export default class WigglePlugin extends Plugin {
10
11
  name: string;
11
- install(pluginManager: PluginManager): void;
12
+ install(pm: PluginManager): void;
12
13
  exports: {
13
14
  LinearWiggleDisplayReactComponent: (props: {
14
15
  model: {
@@ -113,6 +114,7 @@ export default class WigglePlugin extends Plugin {
113
114
  selectedRendering: string;
114
115
  resolution: number;
115
116
  fill: boolean | undefined;
117
+ minSize: number | undefined;
116
118
  color: string | undefined;
117
119
  posColor: string | undefined;
118
120
  negColor: string | undefined;
@@ -261,7 +263,7 @@ export default class WigglePlugin extends Plugin {
261
263
  };
262
264
  statsFetchInProgress: AbortController | undefined;
263
265
  } & {
264
- updateStats({ scoreMin, scoreMax, }: {
266
+ updateStats(stats: {
265
267
  scoreMin: number;
266
268
  scoreMax: number;
267
269
  }): void;
@@ -271,7 +273,7 @@ export default class WigglePlugin extends Plugin {
271
273
  setLoading(aborter: AbortController): void;
272
274
  selectFeature(feature: import("@jbrowse/core/util").Feature): void;
273
275
  setResolution(res: number): void;
274
- setFill(fill: boolean): void;
276
+ setFill(fill: number): void;
275
277
  toggleLogScale(): void;
276
278
  setScaleType(scale?: string | undefined): void;
277
279
  setSummaryScoreMode(val: string): void;
@@ -284,6 +286,7 @@ export default class WigglePlugin extends Plugin {
284
286
  } & {
285
287
  readonly TooltipComponent: import("react").FC<{}>;
286
288
  readonly adapterTypeName: any;
289
+ readonly rendererTypeNameSimple: any;
287
290
  readonly rendererTypeName: string;
288
291
  readonly filters: undefined;
289
292
  readonly scaleType: any;
@@ -310,18 +313,36 @@ export default class WigglePlugin extends Plugin {
310
313
  readonly autoscaleType: any;
311
314
  readonly displayCrossHatchesSetting: any;
312
315
  } & {
313
- readonly ticks: any;
316
+ readonly ticks: {
317
+ range: number[];
318
+ values: number[];
319
+ format: (d: import("d3-scale").NumberValue) => string;
320
+ position: import("d3-scale").ScaleLinear<number, number, never> | import("d3-scale").ScaleQuantize<number, never>;
321
+ };
322
+ readonly adapterCapabilities: string[];
314
323
  } & {
315
324
  renderProps(): any;
316
- readonly adapterCapabilities: string[];
317
325
  readonly hasResolution: boolean;
318
326
  readonly hasGlobalStats: boolean;
327
+ readonly fillSetting: 2 | 1 | 0;
319
328
  } & {
320
329
  trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
330
+ label: string;
331
+ subMenu: {
332
+ label: string;
333
+ type: string;
334
+ checked: boolean;
335
+ onClick: () => void;
336
+ }[];
337
+ type?: undefined;
338
+ checked?: undefined;
339
+ onClick?: undefined;
340
+ } | {
321
341
  type: string;
322
342
  label: string;
323
343
  checked: any;
324
344
  onClick: () => void;
345
+ subMenu?: undefined;
325
346
  })[];
326
347
  } & {
327
348
  reload(): Promise<void>;
@@ -389,6 +410,7 @@ export default class WigglePlugin extends Plugin {
389
410
  selectedRendering: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
390
411
  resolution: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
391
412
  fill: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
413
+ minSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
392
414
  color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
393
415
  posColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
394
416
  negColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -534,7 +556,7 @@ export default class WigglePlugin extends Plugin {
534
556
  };
535
557
  statsFetchInProgress: AbortController | undefined;
536
558
  } & {
537
- updateStats({ scoreMin, scoreMax, }: {
559
+ updateStats(stats: {
538
560
  scoreMin: number;
539
561
  scoreMax: number;
540
562
  }): void;
@@ -544,7 +566,7 @@ export default class WigglePlugin extends Plugin {
544
566
  setLoading(aborter: AbortController): void;
545
567
  selectFeature(feature: import("@jbrowse/core/util").Feature): void;
546
568
  setResolution(res: number): void;
547
- setFill(fill: boolean): void;
569
+ setFill(fill: number): void;
548
570
  toggleLogScale(): void;
549
571
  setScaleType(scale?: string | undefined): void;
550
572
  setSummaryScoreMode(val: string): void;
@@ -557,6 +579,7 @@ export default class WigglePlugin extends Plugin {
557
579
  } & {
558
580
  readonly TooltipComponent: import("react").FC<{}>;
559
581
  readonly adapterTypeName: any;
582
+ readonly rendererTypeNameSimple: any;
560
583
  readonly rendererTypeName: string;
561
584
  readonly filters: undefined;
562
585
  readonly scaleType: any;
@@ -583,18 +606,36 @@ export default class WigglePlugin extends Plugin {
583
606
  readonly autoscaleType: any;
584
607
  readonly displayCrossHatchesSetting: any;
585
608
  } & {
586
- readonly ticks: any;
609
+ readonly ticks: {
610
+ range: number[];
611
+ values: number[];
612
+ format: (d: import("d3-scale").NumberValue) => string;
613
+ position: import("d3-scale").ScaleLinear<number, number, never> | import("d3-scale").ScaleQuantize<number, never>;
614
+ };
615
+ readonly adapterCapabilities: string[];
587
616
  } & {
588
617
  renderProps(): any;
589
- readonly adapterCapabilities: string[];
590
618
  readonly hasResolution: boolean;
591
619
  readonly hasGlobalStats: boolean;
620
+ readonly fillSetting: 2 | 1 | 0;
592
621
  } & {
593
622
  trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
623
+ label: string;
624
+ subMenu: {
625
+ label: string;
626
+ type: string;
627
+ checked: boolean;
628
+ onClick: () => void;
629
+ }[];
630
+ type?: undefined;
631
+ checked?: undefined;
632
+ onClick?: undefined;
633
+ } | {
594
634
  type: string;
595
635
  label: string;
596
636
  checked: any;
597
637
  onClick: () => void;
638
+ subMenu?: undefined;
598
639
  })[];
599
640
  } & {
600
641
  reload(): Promise<void>;
@@ -623,9 +664,9 @@ export default class WigglePlugin extends Plugin {
623
664
  blockKey: string;
624
665
  }) => JSX.Element;
625
666
  XYPlotRenderer: typeof XYPlotRenderer;
667
+ WiggleBaseRenderer: typeof WiggleBaseRenderer;
626
668
  xyPlotRendererConfigSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
627
669
  utils: typeof utils;
628
- WiggleBaseRenderer: typeof WiggleBaseRenderer;
629
670
  linearWiggleDisplayModelFactory: (pluginManager: PluginManager, configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType) => import("mobx-state-tree").IModelType<{
630
671
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
631
672
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -686,6 +727,7 @@ export default class WigglePlugin extends Plugin {
686
727
  selectedRendering: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
687
728
  resolution: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
688
729
  fill: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
730
+ minSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
689
731
  color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
690
732
  posColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
691
733
  negColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -831,7 +873,7 @@ export default class WigglePlugin extends Plugin {
831
873
  };
832
874
  statsFetchInProgress: AbortController | undefined;
833
875
  } & {
834
- updateStats({ scoreMin, scoreMax, }: {
876
+ updateStats(stats: {
835
877
  scoreMin: number;
836
878
  scoreMax: number;
837
879
  }): void;
@@ -841,7 +883,7 @@ export default class WigglePlugin extends Plugin {
841
883
  setLoading(aborter: AbortController): void;
842
884
  selectFeature(feature: import("@jbrowse/core/util").Feature): void;
843
885
  setResolution(res: number): void;
844
- setFill(fill: boolean): void;
886
+ setFill(fill: number): void;
845
887
  toggleLogScale(): void;
846
888
  setScaleType(scale?: string | undefined): void;
847
889
  setSummaryScoreMode(val: string): void;
@@ -854,6 +896,7 @@ export default class WigglePlugin extends Plugin {
854
896
  } & {
855
897
  readonly TooltipComponent: import("react").FC<{}>;
856
898
  readonly adapterTypeName: any;
899
+ readonly rendererTypeNameSimple: any;
857
900
  readonly rendererTypeName: string;
858
901
  readonly filters: undefined;
859
902
  readonly scaleType: any;
@@ -880,18 +923,36 @@ export default class WigglePlugin extends Plugin {
880
923
  readonly autoscaleType: any;
881
924
  readonly displayCrossHatchesSetting: any;
882
925
  } & {
883
- readonly ticks: any;
926
+ readonly ticks: {
927
+ range: number[];
928
+ values: number[];
929
+ format: (d: import("d3-scale").NumberValue) => string;
930
+ position: import("d3-scale").ScaleLinear<number, number, never> | import("d3-scale").ScaleQuantize<number, never>;
931
+ };
932
+ readonly adapterCapabilities: string[];
884
933
  } & {
885
934
  renderProps(): any;
886
- readonly adapterCapabilities: string[];
887
935
  readonly hasResolution: boolean;
888
936
  readonly hasGlobalStats: boolean;
937
+ readonly fillSetting: 2 | 1 | 0;
889
938
  } & {
890
939
  trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
940
+ label: string;
941
+ subMenu: {
942
+ label: string;
943
+ type: string;
944
+ checked: boolean;
945
+ onClick: () => void;
946
+ }[];
947
+ type?: undefined;
948
+ checked?: undefined;
949
+ onClick?: undefined;
950
+ } | {
891
951
  type: string;
892
952
  label: string;
893
953
  checked: any;
894
954
  onClick: () => void;
955
+ subMenu?: undefined;
895
956
  })[];
896
957
  } & {
897
958
  reload(): Promise<void>;
@@ -910,8 +971,5 @@ export default class WigglePlugin extends Plugin {
910
971
  };
911
972
  }
912
973
  export * from './util';
913
- export { WiggleRendering };
914
- export { WiggleBaseRenderer };
915
- export { LinearWiggleDisplayReactComponent, linearWiggleDisplayModelFactory };
916
- export { Tooltip } from './LinearWiggleDisplay/components/Tooltip';
917
- export { YSCALEBAR_LABEL_OFFSET };
974
+ export { LinearWiggleDisplayReactComponent, Tooltip, WiggleRendering, WiggleBaseRenderer, linearWiggleDisplayModelFactory, };
975
+ export type { TooltipContentsComponent };
package/esm/index.js CHANGED
@@ -1,19 +1,28 @@
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
- import { ConfigurationSchema } from '@jbrowse/core/configuration';
5
- import { createBaseTrackConfig, createBaseTrackModel, } from '@jbrowse/core/pluggableElementTypes/models';
6
- import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
2
+ import { getFileName, } from '@jbrowse/core/util/tracks';
3
+ // locals
7
4
  import WiggleBaseRenderer from './WiggleBaseRenderer';
8
5
  import WiggleRendering from './WiggleRendering';
9
- import { configSchema as bigWigAdapterConfigSchema } from './BigWigAdapter';
10
- import DensityRenderer, { configSchema as densityRendererConfigSchema, ReactComponent as DensityRendererReactComponent, } from './DensityRenderer';
6
+ import BigWigAdapterF from './BigWigAdapter';
7
+ import QuantitativeTrackF from './QuantitativeTrack';
8
+ import MultiQuantitativeTrackF from './MultiQuantitativeTrack';
9
+ import MultiWiggleAdapterF from './MultiWiggleAdapter';
10
+ import DensityRendererF from './DensityRenderer';
11
+ import XYPlotRendererF from './XYPlotRenderer';
12
+ import LinePlotRendererF from './LinePlotRenderer';
13
+ import LinearWiggleDisplayF from './LinearWiggleDisplay';
14
+ import MultiLinearWiggleDisplayF from './MultiLinearWiggleDisplay';
15
+ import MultiXYPlotRendererF from './MultiXYPlotRenderer';
16
+ import MultiRowXYPlotRendererF from './MultiRowXYPlotRenderer';
17
+ import MultiDensityRendererF from './MultiDensityRenderer';
18
+ import MultiLineRendererF from './MultiLineRenderer';
19
+ import MultiRowLineRendererF from './MultiRowLineRenderer';
20
+ import CreateMultiWiggleExtensionF from './CreateMultiWiggleExtension';
21
+ import MultiWiggleAddTrackWidgetF from './MultiWiggleAddTrackWidget';
11
22
  import * as utils from './util';
12
- import { configSchemaFactory as linearWiggleDisplayConfigSchemaFactory, modelFactory as linearWiggleDisplayModelFactory, ReactComponent as LinearWiggleDisplayReactComponent, YSCALEBAR_LABEL_OFFSET, } from './LinearWiggleDisplay';
13
- import XYPlotRenderer, { configSchema as xyPlotRendererConfigSchema, ReactComponent as XYPlotRendererReactComponent, } from './XYPlotRenderer';
14
- import LinePlotRenderer, { configSchema as linePlotRendererConfigSchema, ReactComponent as LinePlotRendererReactComponent, } from './LinePlotRenderer';
15
- import { WiggleGetGlobalStats, WiggleGetMultiRegionStats, } from './WiggleRPC/rpcMethods';
16
- import { getFileName, } from '@jbrowse/core/util/tracks';
23
+ import { WiggleGetGlobalStats, WiggleGetMultiRegionStats, MultiWiggleGetSources, } from './WiggleRPC/rpcMethods';
24
+ import { ReactComponent as LinearWiggleDisplayReactComponent, modelFactory as linearWiggleDisplayModelFactory, Tooltip, } from './LinearWiggleDisplay';
25
+ import { ReactComponent as XYPlotRendererReactComponent, configSchema as xyPlotRendererConfigSchema, XYPlotRenderer, } from './XYPlotRenderer';
17
26
  export default class WigglePlugin extends Plugin {
18
27
  constructor() {
19
28
  super(...arguments);
@@ -22,44 +31,31 @@ export default class WigglePlugin extends Plugin {
22
31
  LinearWiggleDisplayReactComponent,
23
32
  XYPlotRendererReactComponent,
24
33
  XYPlotRenderer,
34
+ WiggleBaseRenderer,
25
35
  xyPlotRendererConfigSchema,
26
36
  utils,
27
- WiggleBaseRenderer,
28
37
  linearWiggleDisplayModelFactory,
29
38
  };
30
39
  }
31
- install(pluginManager) {
32
- pluginManager.addTrackType(() => {
33
- const configSchema = ConfigurationSchema('QuantitativeTrack', {}, { baseConfiguration: createBaseTrackConfig(pluginManager) });
34
- return new TrackType({
35
- name: 'QuantitativeTrack',
36
- configSchema,
37
- stateModel: createBaseTrackModel(pluginManager, 'QuantitativeTrack', configSchema),
38
- });
39
- });
40
- pluginManager.addDisplayType(() => {
41
- const configSchema = linearWiggleDisplayConfigSchemaFactory(pluginManager);
42
- return new DisplayType({
43
- name: 'LinearWiggleDisplay',
44
- configSchema,
45
- stateModel: linearWiggleDisplayModelFactory(pluginManager, configSchema),
46
- trackType: 'QuantitativeTrack',
47
- viewType: 'LinearGenomeView',
48
- ReactComponent: LinearWiggleDisplayReactComponent,
49
- });
50
- });
51
- pluginManager.addAdapterType(() => new AdapterType({
52
- name: 'BigWigAdapter',
53
- configSchema: bigWigAdapterConfigSchema,
54
- adapterCapabilities: [
55
- 'hasResolution',
56
- 'hasLocalStats',
57
- 'hasGlobalStats',
58
- ],
59
- getAdapterClass: () => import('./BigWigAdapter/BigWigAdapter').then(r => r.default),
60
- }));
61
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
62
- return (file, index, adapterHint) => {
40
+ install(pm) {
41
+ MultiWiggleAdapterF(pm);
42
+ BigWigAdapterF(pm);
43
+ QuantitativeTrackF(pm);
44
+ MultiQuantitativeTrackF(pm);
45
+ LinearWiggleDisplayF(pm);
46
+ MultiLinearWiggleDisplayF(pm);
47
+ LinePlotRendererF(pm);
48
+ XYPlotRendererF(pm);
49
+ DensityRendererF(pm);
50
+ MultiXYPlotRendererF(pm);
51
+ MultiRowXYPlotRendererF(pm);
52
+ MultiDensityRendererF(pm);
53
+ MultiLineRendererF(pm);
54
+ MultiRowLineRendererF(pm);
55
+ MultiWiggleAddTrackWidgetF(pm);
56
+ CreateMultiWiggleExtensionF(pm);
57
+ pm.addToExtensionPoint('Core-guessAdapterForLocation', (cb) => {
58
+ return (file, index, hint) => {
63
59
  const regexGuess = /\.(bw|bigwig)$/i;
64
60
  const adapterName = 'BigWigAdapter';
65
61
  const fileName = getFileName(file);
@@ -67,16 +63,16 @@ export default class WigglePlugin extends Plugin {
67
63
  type: adapterName,
68
64
  bigWigLocation: file,
69
65
  };
70
- if (regexGuess.test(fileName) && !adapterHint) {
66
+ if (regexGuess.test(fileName) && !hint) {
71
67
  return obj;
72
68
  }
73
- else if (adapterHint === adapterName) {
69
+ else if (hint === adapterName) {
74
70
  return obj;
75
71
  }
76
- return adapterGuesser(file, index, adapterHint);
72
+ return cb(file, index, hint);
77
73
  };
78
74
  });
79
- pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
75
+ pm.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
80
76
  return (adapterName) => {
81
77
  if (adapterName === 'BigWigAdapter') {
82
78
  return 'QuantitativeTrack';
@@ -84,32 +80,11 @@ export default class WigglePlugin extends Plugin {
84
80
  return trackTypeGuesser(adapterName);
85
81
  };
86
82
  });
87
- pluginManager.addRendererType(() => new DensityRenderer({
88
- name: 'DensityRenderer',
89
- ReactComponent: DensityRendererReactComponent,
90
- configSchema: densityRendererConfigSchema,
91
- pluginManager,
92
- }));
93
- pluginManager.addRendererType(() => new LinePlotRenderer({
94
- name: 'LinePlotRenderer',
95
- ReactComponent: LinePlotRendererReactComponent,
96
- configSchema: linePlotRendererConfigSchema,
97
- pluginManager,
98
- }));
99
- pluginManager.addRendererType(() => new XYPlotRenderer({
100
- name: 'XYPlotRenderer',
101
- ReactComponent: XYPlotRendererReactComponent,
102
- configSchema: xyPlotRendererConfigSchema,
103
- pluginManager,
104
- }));
105
- pluginManager.addRpcMethod(() => new WiggleGetGlobalStats(pluginManager));
106
- pluginManager.addRpcMethod(() => new WiggleGetMultiRegionStats(pluginManager));
83
+ pm.addRpcMethod(() => new WiggleGetGlobalStats(pm));
84
+ pm.addRpcMethod(() => new WiggleGetMultiRegionStats(pm));
85
+ pm.addRpcMethod(() => new MultiWiggleGetSources(pm));
107
86
  }
108
87
  }
109
88
  export * from './util';
110
- export { WiggleRendering };
111
- export { WiggleBaseRenderer };
112
- export { LinearWiggleDisplayReactComponent, linearWiggleDisplayModelFactory };
113
- export { Tooltip } from './LinearWiggleDisplay/components/Tooltip';
114
- export { YSCALEBAR_LABEL_OFFSET };
89
+ export { LinearWiggleDisplayReactComponent, Tooltip, WiggleRendering, WiggleBaseRenderer, linearWiggleDisplayModelFactory, };
115
90
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/util.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { FeatureStats } from '@jbrowse/core/util/stats';
2
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ export declare const YSCALEBAR_LABEL_OFFSET = 5;
1
4
  export interface ScaleOpts {
2
5
  domain: number[];
3
6
  range: number[];
@@ -5,6 +8,11 @@ export interface ScaleOpts {
5
8
  pivotValue?: number;
6
9
  inverted: boolean;
7
10
  }
11
+ export interface Source {
12
+ name: string;
13
+ color?: string;
14
+ group?: string;
15
+ }
8
16
  /**
9
17
  * produces a d3-scale from arguments. applies a "nice domain" adjustment
10
18
  *
@@ -16,7 +24,7 @@ export interface ScaleOpts {
16
24
  * - pivotValue (number)
17
25
  * - inverted (boolean)
18
26
  */
19
- export declare function getScale({ domain, range, scaleType, pivotValue, inverted, }: ScaleOpts): import("d3-scale").ScaleLinear<number, number> | import("d3-scale").ScaleQuantize<number>;
27
+ export declare function getScale({ domain, range, scaleType, pivotValue, inverted, }: ScaleOpts): import("d3-scale").ScaleLinear<number, number, never> | import("d3-scale").ScaleQuantize<number, never>;
20
28
  /**
21
29
  * gets the origin for drawing the graph. for linear this is 0, for log this is arbitrarily set to log(1)==0
22
30
  *
@@ -39,3 +47,28 @@ export declare function getNiceDomain({ scaleType, domain, bounds, }: {
39
47
  domain: number[];
40
48
  bounds: number[];
41
49
  }): [number, number];
50
+ export declare function groupBy<T>(array: T[], predicate: (v: T) => string): {
51
+ [key: string]: T[];
52
+ };
53
+ export declare function getStats(self: {
54
+ adapterConfig: AnyConfigurationModel;
55
+ autoscaleType: string;
56
+ setMessage: (str: string) => void;
57
+ }, opts: {
58
+ headers?: Record<string, string>;
59
+ signal?: AbortSignal;
60
+ filters?: string[];
61
+ }): Promise<FeatureStats>;
62
+ export declare function statsAutorun(self: {
63
+ estimatedStatsReady: boolean;
64
+ regionTooLarge: boolean;
65
+ setLoading: (aborter: AbortController) => void;
66
+ setError: (error: unknown) => void;
67
+ updateStats: (stats: FeatureStats, statsRegion: string) => void;
68
+ renderProps: () => Record<string, unknown>;
69
+ adapterConfig: AnyConfigurationModel;
70
+ autoscaleType: string;
71
+ setMessage: (str: string) => void;
72
+ }): void;
73
+ export declare function toP(s?: number): number;
74
+ export declare function round(value: number): number;
package/esm/util.js CHANGED
@@ -1,4 +1,10 @@
1
1
  import { scaleLinear, scaleLog, scaleQuantize } from 'd3-scale';
2
+ import { autorun } from 'mobx';
3
+ import { isAbortException, getSession, getContainingView, } from '@jbrowse/core/util';
4
+ import { getRpcSessionId } from '@jbrowse/core/util/tracks';
5
+ import { addDisposer, isAlive } from 'mobx-state-tree';
6
+ import { getConf } from '@jbrowse/core/configuration';
7
+ export const YSCALEBAR_LABEL_OFFSET = 5;
2
8
  /**
3
9
  * produces a d3-scale from arguments. applies a "nice domain" adjustment
4
10
  *
@@ -120,4 +126,106 @@ export function getNiceDomain({ scaleType, domain, bounds, }) {
120
126
  scale.nice();
121
127
  return scale.domain();
122
128
  }
129
+ export function groupBy(array, predicate) {
130
+ return array.reduce((acc, value) => {
131
+ var _a;
132
+ const entry = (acc[_a = predicate(value)] || (acc[_a] = []));
133
+ entry.push(value);
134
+ return acc;
135
+ }, {});
136
+ }
137
+ export async function getStats(self, opts) {
138
+ const { rpcManager } = getSession(self);
139
+ const nd = getConf(self, 'numStdDev') || 3;
140
+ const { adapterConfig, autoscaleType } = self;
141
+ const sessionId = getRpcSessionId(self);
142
+ const params = {
143
+ sessionId,
144
+ adapterConfig,
145
+ statusCallback: (message) => {
146
+ if (isAlive(self)) {
147
+ self.setMessage(message);
148
+ }
149
+ },
150
+ ...opts,
151
+ };
152
+ if (autoscaleType === 'global' || autoscaleType === 'globalsd') {
153
+ const results = (await rpcManager.call(sessionId, 'WiggleGetGlobalStats', params));
154
+ const { scoreMin, scoreMean, scoreStdDev } = results;
155
+ // globalsd uses heuristic to avoid unnecessary scoreMin<0
156
+ // if the scoreMin is never less than 0
157
+ // helps with most coverage bigwigs just being >0
158
+ return autoscaleType === 'globalsd'
159
+ ? {
160
+ ...results,
161
+ scoreMin: scoreMin >= 0 ? 0 : scoreMean - nd * scoreStdDev,
162
+ scoreMax: scoreMean + nd * scoreStdDev,
163
+ }
164
+ : results;
165
+ }
166
+ if (autoscaleType === 'local' || autoscaleType === 'localsd') {
167
+ const { dynamicBlocks, bpPerPx } = getContainingView(self);
168
+ const results = (await rpcManager.call(sessionId, 'WiggleGetMultiRegionStats', {
169
+ ...params,
170
+ regions: dynamicBlocks.contentBlocks.map(region => {
171
+ const { start, end } = region;
172
+ return {
173
+ ...JSON.parse(JSON.stringify(region)),
174
+ start: Math.floor(start),
175
+ end: Math.ceil(end),
176
+ };
177
+ }),
178
+ bpPerPx,
179
+ }));
180
+ const { scoreMin, scoreMean, scoreStdDev } = results;
181
+ // localsd uses heuristic to avoid unnecessary scoreMin<0 if the
182
+ // scoreMin is never less than 0 helps with most coverage bigwigs
183
+ // just being >0
184
+ return autoscaleType === 'localsd'
185
+ ? {
186
+ ...results,
187
+ scoreMin: scoreMin >= 0 ? 0 : scoreMean - nd * scoreStdDev,
188
+ scoreMax: scoreMean + nd * scoreStdDev,
189
+ }
190
+ : results;
191
+ }
192
+ if (autoscaleType === 'zscale') {
193
+ return rpcManager.call(sessionId, 'WiggleGetGlobalStats', params);
194
+ }
195
+ throw new Error(`invalid autoscaleType '${autoscaleType}'`);
196
+ }
197
+ export function statsAutorun(self) {
198
+ addDisposer(self, autorun(async () => {
199
+ try {
200
+ const aborter = new AbortController();
201
+ const view = getContainingView(self);
202
+ self.setLoading(aborter);
203
+ if (!view.initialized ||
204
+ !self.estimatedStatsReady ||
205
+ self.regionTooLarge) {
206
+ return;
207
+ }
208
+ const statsRegion = JSON.stringify(view.dynamicBlocks);
209
+ const wiggleStats = await getStats(self, {
210
+ signal: aborter.signal,
211
+ ...self.renderProps(),
212
+ });
213
+ if (isAlive(self)) {
214
+ self.updateStats(wiggleStats, statsRegion);
215
+ }
216
+ }
217
+ catch (e) {
218
+ if (!isAbortException(e) && isAlive(self)) {
219
+ console.error(e);
220
+ self.setError(e);
221
+ }
222
+ }
223
+ }, { delay: 1000 }));
224
+ }
225
+ export function toP(s = 0) {
226
+ return +(+s).toPrecision(6);
227
+ }
228
+ export function round(value) {
229
+ return Math.round(value * 1e5) / 1e5;
230
+ }
123
231
  //# sourceMappingURL=util.js.map
package/esm/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}