@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
@@ -0,0 +1,162 @@
1
+ import React, { useState } from 'react';
2
+ import { Button, Dialog, DialogContent, DialogActions, DialogTitle, IconButton, Paper, } from '@mui/material';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ import { getStr, isUriLocation, measureGridWidth, useLocalStorage, } from '@jbrowse/core/util';
5
+ import { DataGrid } from '@mui/x-data-grid';
6
+ import Draggable from 'react-draggable';
7
+ import clone from 'clone';
8
+ // locals
9
+ import ColorPicker, { ColorPopover } from '@jbrowse/core/ui/ColorPicker';
10
+ import { UriLink } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail';
11
+ import { moveUp, moveDown } from './util';
12
+ // icons
13
+ import CloseIcon from '@mui/icons-material/Close';
14
+ import KeyboardDoubleArrowUpIcon from '@mui/icons-material/KeyboardDoubleArrowUp';
15
+ import KeyboardDoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
16
+ import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
17
+ import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
18
+ const useStyles = makeStyles()(theme => ({
19
+ closeButton: {
20
+ position: 'absolute',
21
+ right: theme.spacing(1),
22
+ top: theme.spacing(1),
23
+ color: theme.palette.grey[500],
24
+ },
25
+ content: {
26
+ minWidth: 800,
27
+ },
28
+ }));
29
+ // draggable dialog demo https://mui.com/material-ui/react-dialog/#draggable-dialog
30
+ function PaperComponent(props) {
31
+ return (React.createElement(Draggable, { handle: "#draggable-dialog-title", cancel: '[class*="MuiDialogContent-root"]' },
32
+ React.createElement(Paper, { ...props })));
33
+ }
34
+ export default function SetColorDialog({ model, handleClose, }) {
35
+ const { classes } = useStyles();
36
+ const { sources } = model;
37
+ const [currLayout, setCurrLayout] = useState(clone(sources || []));
38
+ const [showTipsTmp, setShowTips] = useLocalStorage('multiwiggle-showTips', 'true');
39
+ const showTips = showTipsTmp === 'true';
40
+ return (React.createElement(Dialog, { PaperComponent: PaperComponent, open: true, onClose: handleClose, maxWidth: "xl", "aria-labelledby": "draggable-dialog-title" // this area is important for the draggable functionality
41
+ },
42
+ React.createElement(DialogTitle, { style: { cursor: 'move' }, id: "draggable-dialog-title" },
43
+ "Multi-wiggle color/arrangement editor",
44
+ ' ',
45
+ React.createElement(IconButton, { className: classes.closeButton, onClick: handleClose },
46
+ React.createElement(CloseIcon, null))),
47
+ React.createElement(DialogContent, { className: classes.content },
48
+ React.createElement(Button, { variant: "contained", style: { float: 'right' }, onClick: () => setShowTips(showTips ? 'false' : 'true') }, showTips ? 'Hide tips' : 'Show tips'),
49
+ React.createElement("br", null),
50
+ showTips ? (React.createElement(React.Fragment, null,
51
+ "Helpful tips",
52
+ React.createElement("ul", null,
53
+ React.createElement("li", null, "You can select rows in the table with the checkboxes"),
54
+ React.createElement("li", null, "Multi-select is enabled with shift-click and control-click"),
55
+ React.createElement("li", null, "The \"Move selected items up/down\" can re-arrange subtracks"),
56
+ React.createElement("li", null, "Sorting the data grid itself can also re-arrange subtracks"),
57
+ React.createElement("li", null, "Changes are applied when you hit Submit"),
58
+ React.createElement("li", null, "You can click and drag the dialog box to move it on the screen"),
59
+ React.createElement("li", null, "Columns in the table can be hidden using a vertical '...' menu on the right side of each column")))) : null,
60
+ React.createElement(SourcesGrid, { rows: currLayout, onChange: setCurrLayout, showTips: showTips })),
61
+ React.createElement(DialogActions, null,
62
+ React.createElement(Button, { variant: "contained", type: "submit", color: "inherit", onClick: () => {
63
+ model.clearLayout();
64
+ setCurrLayout(model.sources);
65
+ } }, "Clear custom settings"),
66
+ React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
67
+ handleClose();
68
+ setCurrLayout([...model.sources]);
69
+ } }, "Cancel"),
70
+ React.createElement(Button, { variant: "contained", color: "primary", type: "submit", onClick: () => {
71
+ model.setLayout(currLayout);
72
+ handleClose();
73
+ } }, "Submit"))));
74
+ }
75
+ function SourcesGrid({ rows, onChange, showTips, }) {
76
+ const [anchorEl, setAnchorEl] = useState(null);
77
+ const [selected, setSelected] = useState([]);
78
+ // @ts-ignore
79
+ const { name: _name, color: _color, baseUri: _baseUri, ...rest } = rows[0];
80
+ // similar to BaseFeatureDetail data-grid for auto-measuring columns
81
+ const columns = [
82
+ {
83
+ field: 'color',
84
+ headerName: 'Color',
85
+ renderCell: (params) => {
86
+ const { value, id } = params;
87
+ return (React.createElement(ColorPicker, { color: value || 'blue', onChange: c => {
88
+ const elt = rows.find(f => f.name === id);
89
+ if (elt) {
90
+ elt.color = c;
91
+ }
92
+ onChange([...rows]);
93
+ } }));
94
+ },
95
+ },
96
+ {
97
+ field: 'name',
98
+ sortingOrder: [null],
99
+ headerName: 'Name',
100
+ width: measureGridWidth(rows.map(r => r.name)),
101
+ },
102
+ ...Object.keys(rest).map(val => ({
103
+ field: val,
104
+ sortingOrder: [null],
105
+ renderCell: (params) => {
106
+ const { value } = params;
107
+ return isUriLocation(value) ? React.createElement(UriLink, { value: value }) : getStr(value);
108
+ },
109
+ // @ts-ignore
110
+ width: measureGridWidth(rows.map(r => r[val])),
111
+ })),
112
+ ];
113
+ // this helps keep track of the selection, even though it is not used
114
+ // anywhere except inside the picker
115
+ const [widgetColor, setWidgetColor] = useState('blue');
116
+ const [currSort, setCurrSort] = useState({ idx: 0, field: null });
117
+ return (React.createElement("div", null,
118
+ React.createElement(Button, { disabled: !selected.length, onClick: event => setAnchorEl(event.currentTarget) }, "Change color of selected items"),
119
+ React.createElement(Button, { onClick: () => onChange(moveUp([...rows], selected)), disabled: !selected.length },
120
+ React.createElement(KeyboardArrowUpIcon, null),
121
+ showTips ? 'Move selected items up' : null),
122
+ React.createElement(Button, { onClick: () => onChange(moveDown([...rows], selected)), disabled: !selected.length },
123
+ React.createElement(KeyboardArrowDownIcon, null),
124
+ showTips ? 'Move selected items down' : null),
125
+ React.createElement(Button, { onClick: () => onChange(moveUp([...rows], selected, rows.length)), disabled: !selected.length },
126
+ React.createElement(KeyboardDoubleArrowUpIcon, null),
127
+ showTips ? 'Move selected items to top' : null),
128
+ React.createElement(Button, { onClick: () => onChange(moveDown([...rows], selected, rows.length)), disabled: !selected.length },
129
+ React.createElement(KeyboardDoubleArrowDownIcon, null),
130
+ showTips ? 'Move selected items to bottom' : null),
131
+ React.createElement(ColorPopover, { anchorEl: anchorEl, color: widgetColor, onChange: c => {
132
+ setWidgetColor(c);
133
+ selected.forEach(id => {
134
+ const elt = rows.find(f => f.name === id);
135
+ if (elt) {
136
+ elt.color = c;
137
+ }
138
+ });
139
+ onChange([...rows]);
140
+ }, onClose: () => setAnchorEl(null) }),
141
+ React.createElement("div", { style: { height: 400, width: '100%' } },
142
+ React.createElement(DataGrid, { getRowId: row => row.name, checkboxSelection: true, disableSelectionOnClick: true, onSelectionModelChange: arg => setSelected(arg), rows: rows, rowHeight: 25, headerHeight: 33, columns: columns, sortModel: [
143
+ /* we control the sort as a controlled component using onSortModelChange */
144
+ ], onSortModelChange: args => {
145
+ const sort = args[0];
146
+ const idx = (currSort.idx + 1) % 2;
147
+ const field = (sort === null || sort === void 0 ? void 0 : sort.field) || currSort.field;
148
+ setCurrSort({ idx, field });
149
+ onChange(field
150
+ ? [...rows].sort((a, b) => {
151
+ // @ts-ignore
152
+ const aa = getStr(a[field]);
153
+ // @ts-ignore
154
+ const bb = getStr(b[field]);
155
+ return idx === 1
156
+ ? aa.localeCompare(bb)
157
+ : bb.localeCompare(aa);
158
+ })
159
+ : rows);
160
+ } }))));
161
+ }
162
+ //# sourceMappingURL=SetColorDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetColorDialog.js","sourceRoot":"","sources":["../../../src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ export default function SetMinMaxDlg(props: {
3
+ model: {
4
+ minScore: number;
5
+ maxScore: number;
6
+ scaleType: string;
7
+ setMinScore: Function;
8
+ setMaxScore: Function;
9
+ };
10
+ handleClose: () => void;
11
+ }): JSX.Element;
@@ -0,0 +1,46 @@
1
+ import React, { useState } from 'react';
2
+ import { Button, Dialog, DialogContent, DialogTitle, IconButton, TextField, Typography, } from '@mui/material';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ import CloseIcon from '@mui/icons-material/Close';
5
+ const useStyles = makeStyles()(theme => ({
6
+ root: {},
7
+ closeButton: {
8
+ position: 'absolute',
9
+ right: theme.spacing(1),
10
+ top: theme.spacing(1),
11
+ color: theme.palette.grey[500],
12
+ },
13
+ }));
14
+ export default function SetMinMaxDlg(props) {
15
+ const { classes } = useStyles();
16
+ const { model, handleClose } = props;
17
+ const { minScore, maxScore, scaleType } = model;
18
+ const [min, setMin] = useState(`${minScore !== Number.MIN_VALUE ? minScore : ''}`);
19
+ const [max, setMax] = useState(`${maxScore !== Number.MAX_VALUE ? maxScore : ''}`);
20
+ const ok = min !== '' && max !== '' && !Number.isNaN(+min) && !Number.isNaN(+max)
21
+ ? +max > +min
22
+ : true;
23
+ const logOk = scaleType === 'log' && min !== '' && !Number.isNaN(+min) ? +min > 0 : true;
24
+ return (React.createElement(Dialog, { open: true, onClose: handleClose },
25
+ React.createElement(DialogTitle, null,
26
+ "Set min/max score for track",
27
+ React.createElement(IconButton, { className: classes.closeButton, onClick: handleClose },
28
+ React.createElement(CloseIcon, null))),
29
+ React.createElement(DialogContent, { style: { overflowX: 'hidden' } },
30
+ React.createElement("div", { className: classes.root },
31
+ React.createElement(Typography, null, "Enter min/max score: "),
32
+ !ok ? (React.createElement(Typography, { color: "error" }, "Max is greater than or equal to min")) : null,
33
+ !logOk ? (React.createElement(Typography, { color: "error" }, "Min score should be greater than 0 for log scale")) : null,
34
+ React.createElement(TextField, { value: min, onChange: event => {
35
+ setMin(event.target.value);
36
+ }, placeholder: "Enter min score" }),
37
+ React.createElement(TextField, { value: max, onChange: event => {
38
+ setMax(event.target.value);
39
+ }, placeholder: "Enter max score" }),
40
+ React.createElement(Button, { variant: "contained", color: "primary", type: "submit", style: { marginLeft: 20 }, disabled: !ok, onClick: () => {
41
+ model.setMinScore(min !== '' && !Number.isNaN(+min) ? +min : undefined);
42
+ model.setMaxScore(max !== '' && !Number.isNaN(+max) ? +max : undefined);
43
+ handleClose();
44
+ } }, "Submit")))));
45
+ }
46
+ //# sourceMappingURL=SetMinMaxDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetMinMaxDialog.js","sourceRoot":"","sources":["../../../src/MultiLinearWiggleDisplay/components/SetMinMaxDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { Feature } from '@jbrowse/core/util';
3
+ import { Source } from '../../util';
4
+ import Tooltip, { TooltipContentsComponent } from '../../Tooltip';
5
+ declare const TooltipContents: React.ForwardRefExoticComponent<{
6
+ model: {
7
+ sources: Source[];
8
+ };
9
+ feature: Feature;
10
+ } & React.RefAttributes<HTMLDivElement>>;
11
+ declare type Coord = [number, number];
12
+ declare const WiggleTooltip: (props: {
13
+ model: {
14
+ featureUnderMouse: Feature;
15
+ sources: Source[];
16
+ rowHeight: number;
17
+ };
18
+ height: number;
19
+ offsetMouseCoord: Coord;
20
+ clientMouseCoord: Coord;
21
+ clientRect?: DOMRect;
22
+ TooltipContents?: TooltipContentsComponent;
23
+ }) => JSX.Element;
24
+ export default WiggleTooltip;
25
+ export { Tooltip };
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ // locals
4
+ import { toP } from '../../util';
5
+ import Tooltip from '../../Tooltip';
6
+ const en = (n) => n.toLocaleString('en-US');
7
+ const TooltipContents = React.forwardRef(({ model, feature }, ref) => {
8
+ const start = feature.get('start');
9
+ const end = feature.get('end');
10
+ const refName = feature.get('refName');
11
+ const coord = start === end ? en(start) : `${en(start)}..${en(end)}`;
12
+ const sources = feature.get('sources');
13
+ const source = feature.get('source');
14
+ const summary = feature.get('summary');
15
+ const obj = Object.fromEntries(model.sources.map(ent => [ent.name, ent]));
16
+ return (React.createElement("div", { ref: ref },
17
+ [refName, coord].filter(f => !!f).join(':'),
18
+ React.createElement("br", null),
19
+ sources ? (React.createElement("table", null,
20
+ React.createElement("thead", null,
21
+ React.createElement("tr", null,
22
+ React.createElement("th", null, "color"),
23
+ React.createElement("th", null, "source"),
24
+ React.createElement("th", null, "score"))),
25
+ React.createElement("tbody", null, Object.entries(sources).map(([source, data]) => {
26
+ var _a;
27
+ return (React.createElement("tr", { key: source },
28
+ React.createElement("td", { style: { background: (_a = obj[source]) === null || _a === void 0 ? void 0 : _a.color } }, " "),
29
+ React.createElement("td", null, source),
30
+ React.createElement("td", null, toP(data.score))));
31
+ })))) : (React.createElement("span", null,
32
+ source,
33
+ ' ',
34
+ summary
35
+ ? `min:${toP(feature.get('minScore'))} avg:${toP(feature.get('score'))} max:${toP(feature.get('maxScore'))}`
36
+ : toP(feature.get('score'))))));
37
+ });
38
+ const WiggleTooltip = observer((props) => {
39
+ return React.createElement(Tooltip, { useClientY: true, TooltipContents: TooltipContents, ...props });
40
+ });
41
+ export default WiggleTooltip;
42
+ export { Tooltip };
43
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/MultiLinearWiggleDisplay/components/Tooltip.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { WiggleDisplayModel } from '../models/model';
3
+ import YScaleBar from './YScaleBar';
4
+ export declare const StatBars: (props: {
5
+ model: WiggleDisplayModel;
6
+ orientation?: string;
7
+ exportSVG?: boolean;
8
+ }) => JSX.Element | null;
9
+ declare const LinearWiggleDisplay: (props: {
10
+ model: WiggleDisplayModel;
11
+ }) => JSX.Element;
12
+ export default LinearWiggleDisplay;
13
+ export { YScaleBar };
@@ -0,0 +1,99 @@
1
+ import React from 'react';
2
+ import { measureText, getContainingView, getContainingTrack, } from '@jbrowse/core/util';
3
+ import { getConf } from '@jbrowse/core/configuration';
4
+ import { BaseLinearDisplayComponent, } from '@jbrowse/plugin-linear-genome-view';
5
+ import { observer } from 'mobx-react';
6
+ import YScaleBar from './YScaleBar';
7
+ const trackLabelFontSize = 12.8;
8
+ function getOffset(model) {
9
+ const { prefersOffset } = model;
10
+ const { trackLabels } = getContainingView(model);
11
+ const track = getContainingTrack(model);
12
+ const trackName = getConf(track, 'name');
13
+ return trackLabels === 'overlapping' && !prefersOffset
14
+ ? measureText(trackName, trackLabelFontSize) + 100
15
+ : 10;
16
+ }
17
+ const Wrapper = observer(({ children, model, exportSVG, }) => {
18
+ if (exportSVG) {
19
+ return React.createElement(React.Fragment, null, children);
20
+ }
21
+ else {
22
+ const { height } = model;
23
+ return (React.createElement("svg", { style: {
24
+ position: 'absolute',
25
+ top: 0,
26
+ left: 0,
27
+ pointerEvents: 'none',
28
+ height,
29
+ width: 1800,
30
+ } }, children));
31
+ }
32
+ });
33
+ const RectBg = (props) => {
34
+ const { color = 'rgb(255,255,255,0.8)' } = props;
35
+ return React.createElement("rect", { ...props, fill: color });
36
+ };
37
+ const ScoreLegend = observer(({ model }) => {
38
+ const { ticks, scaleType } = model;
39
+ const { width } = getContainingView(model);
40
+ const legend = `[${ticks.values[0]}-${ticks.values[1]}]` +
41
+ (scaleType === 'log' ? ' (log scale)' : '');
42
+ const len = measureText(legend, 14);
43
+ const padding = 25;
44
+ const xpos = width - len - padding;
45
+ return (React.createElement(React.Fragment, null,
46
+ React.createElement(RectBg, { y: 0, x: xpos, width: len + 6, height: 16 }),
47
+ React.createElement("text", { y: 13, x: xpos }, legend)));
48
+ });
49
+ const ColorLegend = observer(({ model, rowHeight, labelWidth, exportSVG, }) => {
50
+ const { needsCustomLegend, needsScalebar, needsFullHeightScalebar, rowHeightTooSmallForScalebar, renderColorBoxes, sources, } = model;
51
+ const svgFontSize = Math.min(rowHeight, 12);
52
+ const canDisplayLabel = rowHeight > 11;
53
+ const colorBoxWidth = renderColorBoxes ? 15 : 0;
54
+ const legendWidth = labelWidth + colorBoxWidth + 5;
55
+ const svgOffset = exportSVG ? 10 : 0;
56
+ const extraOffset = svgOffset || (needsScalebar && !rowHeightTooSmallForScalebar ? 50 : 0);
57
+ return sources ? (React.createElement(React.Fragment, null,
58
+ /* 0.25 for hanging letters like g */
59
+ needsFullHeightScalebar ? (React.createElement(RectBg, { y: 0, x: extraOffset, width: legendWidth, height: (sources.length + 0.25) * rowHeight })) : null,
60
+ sources.map((source, idx) => {
61
+ const boxHeight = Math.min(20, rowHeight);
62
+ return (React.createElement(React.Fragment, { key: source.name + '-' + idx },
63
+ !needsFullHeightScalebar ? (React.createElement(RectBg, { y: idx * rowHeight + 1, x: extraOffset, width: legendWidth, height: boxHeight })) : null,
64
+ source.color ? (React.createElement(RectBg, { y: idx * rowHeight + 1, x: extraOffset, width: colorBoxWidth, height: needsCustomLegend ? rowHeight : boxHeight, color: source.color })) : null,
65
+ canDisplayLabel ? (React.createElement("text", { y: idx * rowHeight + 13, x: extraOffset + colorBoxWidth + 2, fontSize: svgFontSize }, source.name)) : null));
66
+ }))) : null;
67
+ });
68
+ export const StatBars = observer((props) => {
69
+ const { model, orientation, exportSVG } = props;
70
+ const { stats, needsCustomLegend, needsFullHeightScalebar, rowHeightTooSmallForScalebar, rowHeight, sources, ticks, } = model;
71
+ const svgFontSize = Math.min(rowHeight, 12);
72
+ const canDisplayLabel = rowHeight > 11;
73
+ const { width: viewWidth } = getContainingView(model);
74
+ const minWidth = 20;
75
+ const ready = stats && sources;
76
+ if (!ready) {
77
+ return null;
78
+ }
79
+ const labelWidth = Math.max(...(sources
80
+ .map(s => measureText(s.name, svgFontSize))
81
+ .map(width => (canDisplayLabel ? width : minWidth)) || [0]));
82
+ return (React.createElement(Wrapper, { ...props }, needsFullHeightScalebar ? (React.createElement(React.Fragment, null,
83
+ React.createElement("g", { transform: `translate(${!exportSVG ? getOffset(model) : 0},0)` },
84
+ React.createElement(YScaleBar, { model: model, orientation: orientation })),
85
+ React.createElement("g", { transform: `translate(${viewWidth - labelWidth - 100},0)` },
86
+ React.createElement(ColorLegend, { exportSVG: exportSVG, model: model, rowHeight: 12, labelWidth: labelWidth })))) : (React.createElement(React.Fragment, null,
87
+ React.createElement(ColorLegend, { exportSVG: exportSVG, model: model, rowHeight: model.rowHeight, labelWidth: labelWidth }),
88
+ rowHeightTooSmallForScalebar || needsCustomLegend ? (React.createElement(ScoreLegend, { ...props })) : (sources.map((_source, idx) => (React.createElement("g", { transform: `translate(0 ${rowHeight * idx})`, key: JSON.stringify(ticks) + '-' + idx },
89
+ React.createElement(YScaleBar, { model: model, orientation: orientation })))))))));
90
+ });
91
+ const LinearWiggleDisplay = observer((props) => {
92
+ const { model } = props;
93
+ return (React.createElement("div", null,
94
+ React.createElement(BaseLinearDisplayComponent, { ...props }),
95
+ React.createElement(StatBars, { model: model })));
96
+ });
97
+ export default LinearWiggleDisplay;
98
+ export { YScaleBar };
99
+ //# sourceMappingURL=WiggleDisplayComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WiggleDisplayComponent.js","sourceRoot":"","sources":["../../../src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAEL,0BAA0B,GAC3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,SAAS,MAAM,aAAa,CAAA;AAInC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAE/B,SAAS,SAAS,CAAC,KAAyB;IAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAQ,CAAA;IACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,WAAW,KAAK,aAAa,IAAI,CAAC,aAAa;QACpD,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,GAAG;QAClD,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED,MAAM,OAAO,GAAG,QAAQ,CACtB,CAAC,EACC,QAAQ,EACR,KAAK,EACL,SAAS,GAKV,EAAE,EAAE;IACH,IAAI,SAAS,EAAE;QACb,OAAO,0CAAG,QAAQ,CAAI,CAAA;KACvB;SAAM;QACL,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QACxB,OAAO,CACL,6BACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,CAAC;gBACP,aAAa,EAAE,MAAM;gBACrB,MAAM;gBACN,KAAK,EAAE,IAAI;aACZ,IAEA,QAAQ,CACL,CACP,CAAA;KACF;AACH,CAAC,CACF,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,KAMf,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,GAAG,sBAAsB,EAAE,GAAG,KAAK,CAAA;IAChD,OAAO,iCAAU,KAAK,EAAE,IAAI,EAAE,KAAK,GAAI,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAiC,EAAE,EAAE;IACxE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAClC,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAQ,CAAA;IACjD,MAAM,MAAM,GACV,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;QACzC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,MAAM,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,OAAO,CAAA;IAClC,OAAO,CACL;QACE,oBAAC,MAAM,IAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,GAAI;QACrD,8BAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IACjB,MAAM,CACF,CACN,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,QAAQ,CAC1B,CAAC,EACC,KAAK,EACL,SAAS,EACT,UAAU,EACV,SAAS,GAMV,EAAE,EAAE;IACH,MAAM,EACJ,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC5B,gBAAgB,EAChB,OAAO,GACR,GAAG,KAAK,CAAA;IACT,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAC3C,MAAM,eAAe,GAAG,SAAS,GAAG,EAAE,CAAA;IACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,MAAM,WAAW,GACf,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,OAAO,OAAO,CAAC,CAAC,CAAC,CACf;QAEI,qCAAqC;QACrC,uBAAuB,CAAC,CAAC,CAAC,CACxB,oBAAC,MAAM,IACL,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,WAAW,EACd,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,GAC3C,CACH,CAAC,CAAC,CAAC,IAAI;QAET,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YACzC,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG;gBACzC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAC1B,oBAAC,MAAM,IACL,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,CAAC,EACtB,CAAC,EAAE,WAAW,EACd,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,GACjB,CACH,CAAC,CAAC,CAAC,IAAI;gBACP,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,oBAAC,MAAM,IACL,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,CAAC,EACtB,CAAC,EAAE,WAAW,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjD,KAAK,EAAE,MAAM,CAAC,KAAK,GACnB,CACH,CAAC,CAAC,CAAC,IAAI;gBACP,eAAe,CAAC,CAAC,CAAC,CACjB,8BACE,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,EAAE,EACvB,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,CAAC,EAClC,QAAQ,EAAE,WAAW,IAEpB,MAAM,CAAC,IAAI,CACP,CACR,CAAC,CAAC,CAAC,IAAI,CACO,CAClB,CAAA;QACH,CAAC,CAAC,CACD,CACJ,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CACF,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAC9B,CAAC,KAIA,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC/C,MAAM,EACJ,KAAK,EACL,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,SAAS,EACT,OAAO,EACP,KAAK,GACN,GAAG,KAAK,CAAA;IACT,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAC3C,MAAM,eAAe,GAAG,SAAS,GAAG,EAAE,CAAA;IACtC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAQ,CAAA;IAC5D,MAAM,QAAQ,GAAG,EAAE,CAAA;IAEnB,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,CAAA;IAC9B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,GAAG,CAAC,OAAO;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SAC1C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAA;IAED,OAAO,CACL,oBAAC,OAAO,OAAK,KAAK,IACf,uBAAuB,CAAC,CAAC,CAAC,CACzB;QACE,2BAAG,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAC/D,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAI,CACnD;QACJ,2BAAG,SAAS,EAAE,aAAa,SAAS,GAAG,UAAU,GAAG,GAAG,KAAK;YAC1D,oBAAC,WAAW,IACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,EACb,UAAU,EAAE,UAAU,GACtB,CACA,CACH,CACJ,CAAC,CAAC,CAAC,CACF;QACE,oBAAC,WAAW,IACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,UAAU,GACtB;QAED,4BAA4B,IAAI,iBAAiB,CAAC,CAAC,CAAC,CACnD,oBAAC,WAAW,OAAK,KAAK,GAAI,CAC3B,CAAC,CAAC,CAAC,CACF,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5B,2BACE,SAAS,EAAE,eAAe,SAAS,GAAG,GAAG,GAAG,EAC5C,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG;YAEtC,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAI,CACnD,CACL,CAAC,CACH,CACA,CACJ,CACO,CACX,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,mBAAmB,GAAG,QAAQ,CAAC,CAAC,KAAoC,EAAE,EAAE;IAC5E,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,OAAO,CACL;QACE,oBAAC,0BAA0B,OAAK,KAAK,GAAI;QACzC,oBAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,CACtB,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,mBAAmB,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { WiggleDisplayModel } from '../models/model';
3
+ declare const YScaleBar: ({ model, orientation, }: {
4
+ model: WiggleDisplayModel;
5
+ orientation?: string | undefined;
6
+ }) => JSX.Element | null;
7
+ export default YScaleBar;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { Axis, LEFT, RIGHT } from 'react-d3-axis-mod';
4
+ const YScaleBar = observer(({ model, orientation, }) => {
5
+ const { ticks } = model;
6
+ return ticks ? (React.createElement(Axis, { ...ticks, shadow: 2, format: (n) => n, style: { orient: orientation === 'left' ? LEFT : RIGHT } })) : null;
7
+ });
8
+ export default YScaleBar;
9
+ //# sourceMappingURL=YScaleBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YScaleBar.js","sourceRoot":"","sources":["../../../src/MultiLinearWiggleDisplay/components/YScaleBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGrD,MAAM,SAAS,GAAG,QAAQ,CACxB,CAAC,EACC,KAAK,EACL,WAAW,GAIZ,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,oBAAC,IAAI,OACC,KAAK,EACT,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EACxB,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GACxD,CACH,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CACF,CAAA;AACD,eAAe,SAAS,CAAA"}
@@ -0,0 +1,10 @@
1
+ export declare function moveUp(arr: {
2
+ name: string;
3
+ }[], sel: string[], by?: number): {
4
+ name: string;
5
+ }[];
6
+ export declare function moveDown(arr: {
7
+ name: string;
8
+ }[], sel: string[], by?: number): {
9
+ name: string;
10
+ }[];
@@ -0,0 +1,31 @@
1
+ export function moveUp(arr, sel, by = 1) {
2
+ const idxs = sel
3
+ .map(l => arr.findIndex(v => v.name === l))
4
+ .sort((a, b) => a - b);
5
+ let lastIdx = 0;
6
+ for (let i = 0; i < idxs.length; i++) {
7
+ const old = idxs[i];
8
+ const idx = Math.max(lastIdx, old - by);
9
+ if (idx >= lastIdx) {
10
+ arr.splice(idx, 0, arr.splice(old, 1)[0]);
11
+ }
12
+ lastIdx = lastIdx + 1;
13
+ }
14
+ return arr;
15
+ }
16
+ export function moveDown(arr, sel, by = 1) {
17
+ const idxs = sel
18
+ .map(l => arr.findIndex(v => v.name === l))
19
+ .sort((a, b) => b - a);
20
+ let lastIdx = arr.length - 1;
21
+ for (let i = 0; i < idxs.length; i++) {
22
+ const old = idxs[i];
23
+ const idx = Math.min(lastIdx, old + by);
24
+ if (idx <= lastIdx) {
25
+ arr.splice(idx, 0, arr.splice(old, 1)[0]);
26
+ }
27
+ lastIdx = lastIdx - 1;
28
+ }
29
+ return arr;
30
+ }
31
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/MultiLinearWiggleDisplay/components/util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,GAAuB,EAAE,GAAa,EAAE,EAAE,GAAG,CAAC;IACnE,MAAM,IAAI,GAAG,GAAG;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;SAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACxB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;QACvC,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC1C;QACD,OAAO,GAAG,OAAO,GAAG,CAAC,CAAA;KACtB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAuB,EAAE,GAAa,EAAE,EAAE,GAAG,CAAC;IACrE,MAAM,IAAI,GAAG,GAAG;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;SAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACxB,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;QACvC,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC1C;QACD,OAAO,GAAG,OAAO,GAAG,CAAC,CAAA;KACtB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
2
+ import configSchemaFactory from './models/configSchema';
3
+ import modelFactory from './models/model';
4
+ import ReactComponent from './components/WiggleDisplayComponent';
5
+ export default (pluginManager) => {
6
+ pluginManager.addDisplayType(() => {
7
+ const configSchema = configSchemaFactory(pluginManager);
8
+ return new DisplayType({
9
+ name: 'MultiLinearWiggleDisplay',
10
+ configSchema,
11
+ stateModel: modelFactory(pluginManager, configSchema),
12
+ trackType: 'MultiQuantitativeTrack',
13
+ viewType: 'LinearGenomeView',
14
+ ReactComponent,
15
+ });
16
+ });
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/MultiLinearWiggleDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,cAAc,MAAM,qCAAqC,CAAA;AAEhE,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;QACvD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,0BAA0B;YAChC,YAAY;YACZ,UAAU,EAAE,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC;YACrD,SAAS,EAAE,wBAAwB;YACnC,QAAQ,EAAE,kBAAkB;YAC5B,cAAc;SACf,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function WiggleConfigFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
@@ -0,0 +1,74 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
+ import { baseLinearDisplayConfigSchema } from '@jbrowse/plugin-linear-genome-view';
3
+ import { types } from 'mobx-state-tree';
4
+ export default function WiggleConfigFactory(pluginManager) {
5
+ const MultiXYPlotRendererConfigSchema = pluginManager.getRendererType('MultiXYPlotRenderer').configSchema;
6
+ const MultiDensityRendererConfigSchema = pluginManager.getRendererType('MultiDensityRenderer').configSchema;
7
+ const MultiRowXYPlotRendererConfigSchema = pluginManager.getRendererType('MultiRowXYPlotRenderer').configSchema;
8
+ const MultiLineRendererConfigSchema = pluginManager.getRendererType('MultiLineRenderer').configSchema;
9
+ const MultiRowLineRendererConfigSchema = pluginManager.getRendererType('MultiRowLineRenderer').configSchema;
10
+ return ConfigurationSchema('MultiLinearWiggleDisplay', {
11
+ autoscale: {
12
+ type: 'stringEnum',
13
+ defaultValue: 'local',
14
+ model: types.enumeration('Autoscale type', [
15
+ 'global',
16
+ 'local',
17
+ 'globalsd',
18
+ 'localsd',
19
+ 'zscore',
20
+ ]),
21
+ description: 'global/local using their min/max values or w/ standard deviations (globalsd/localsd)',
22
+ },
23
+ minimalTicks: {
24
+ type: 'boolean',
25
+ defaultValue: false,
26
+ description: 'use the minimal amount of ticks',
27
+ },
28
+ minScore: {
29
+ type: 'number',
30
+ defaultValue: Number.MIN_VALUE,
31
+ description: 'minimum value for the y-scale',
32
+ },
33
+ maxScore: {
34
+ type: 'number',
35
+ description: 'maximum value for the y-scale',
36
+ defaultValue: Number.MAX_VALUE,
37
+ },
38
+ numStdDev: {
39
+ type: 'number',
40
+ description: 'number of standard deviations to use for autoscale types globalsd or localsd',
41
+ defaultValue: 3,
42
+ },
43
+ scaleType: {
44
+ type: 'stringEnum',
45
+ model: types.enumeration('Scale type', ['linear', 'log']),
46
+ description: 'The type of scale to use',
47
+ defaultValue: 'linear',
48
+ },
49
+ inverted: {
50
+ type: 'boolean',
51
+ description: 'draw upside down',
52
+ defaultValue: false,
53
+ },
54
+ defaultRendering: {
55
+ type: 'stringEnum',
56
+ model: types.enumeration('Rendering', [
57
+ 'multirowxy',
58
+ 'xyplot',
59
+ 'multirowdensity',
60
+ 'multiline',
61
+ 'multirowline',
62
+ ]),
63
+ defaultValue: 'multirowxy',
64
+ },
65
+ renderers: ConfigurationSchema('RenderersConfiguration', {
66
+ MultiXYPlotRenderer: MultiXYPlotRendererConfigSchema,
67
+ MultiDensityRenderer: MultiDensityRendererConfigSchema,
68
+ MultiRowXYPlotRenderer: MultiRowXYPlotRendererConfigSchema,
69
+ MultiLineRenderer: MultiLineRendererConfigSchema,
70
+ MultiRowLineRenderer: MultiRowLineRendererConfigSchema,
71
+ }),
72
+ }, { baseConfiguration: baseLinearDisplayConfigSchema, explicitlyTyped: true });
73
+ }
74
+ //# sourceMappingURL=configSchema.js.map