@jbrowse/plugin-wiggle 2.6.1 → 2.6.2

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 (366) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.js +0 -1
  2. package/dist/BigWigAdapter/configSchema.js +0 -1
  3. package/dist/BigWigAdapter/index.js +0 -1
  4. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
  5. package/dist/CreateMultiWiggleExtension/index.js +0 -1
  6. package/dist/DensityRenderer/DensityRenderer.js +0 -1
  7. package/dist/DensityRenderer/configSchema.js +0 -1
  8. package/dist/DensityRenderer/index.js +0 -1
  9. package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -1
  10. package/dist/LinePlotRenderer/configSchema.js +0 -1
  11. package/dist/LinePlotRenderer/index.js +0 -1
  12. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
  13. package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -1
  14. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  15. package/dist/LinearWiggleDisplay/index.js +0 -1
  16. package/dist/LinearWiggleDisplay/models/configSchema.js +0 -1
  17. package/dist/LinearWiggleDisplay/models/model.js +0 -1
  18. package/dist/LinearWiggleDisplay/models/renderSvg.js +0 -1
  19. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +0 -1
  20. package/dist/MultiDensityRenderer/configSchema.js +0 -1
  21. package/dist/MultiDensityRenderer/index.js +0 -1
  22. package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -1
  23. package/dist/MultiLineRenderer/configSchema.js +0 -1
  24. package/dist/MultiLineRenderer/index.js +0 -1
  25. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  26. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
  27. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  28. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  29. package/dist/MultiLinearWiggleDisplay/components/util.js +0 -1
  30. package/dist/MultiLinearWiggleDisplay/index.js +0 -1
  31. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
  32. package/dist/MultiLinearWiggleDisplay/models/model.js +0 -1
  33. package/dist/MultiLinearWiggleDisplay/models/renderSvg.js +0 -1
  34. package/dist/MultiQuantitativeTrack/configSchema.js +0 -1
  35. package/dist/MultiQuantitativeTrack/index.js +0 -1
  36. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +0 -1
  37. package/dist/MultiRowLineRenderer/configSchema.js +0 -1
  38. package/dist/MultiRowLineRenderer/index.js +0 -1
  39. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +0 -1
  40. package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -1
  41. package/dist/MultiRowXYPlotRenderer/index.js +0 -1
  42. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  43. package/dist/MultiWiggleAdapter/configSchema.js +0 -1
  44. package/dist/MultiWiggleAdapter/index.js +0 -1
  45. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
  46. package/dist/MultiWiggleAddTrackWidget/index.js +0 -1
  47. package/dist/MultiWiggleRendering.js +0 -1
  48. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
  49. package/dist/MultiXYPlotRenderer/configSchema.js +0 -1
  50. package/dist/MultiXYPlotRenderer/index.js +0 -1
  51. package/dist/QuantitativeTrack/configSchema.js +0 -1
  52. package/dist/QuantitativeTrack/index.js +0 -1
  53. package/dist/Tooltip.js +0 -1
  54. package/dist/WiggleBaseRenderer.js +0 -1
  55. package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -1
  56. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  57. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  58. package/dist/WiggleRPC/rpcMethods.js +0 -1
  59. package/dist/WiggleRendering.js +0 -1
  60. package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -1
  61. package/dist/XYPlotRenderer/configSchema.js +0 -1
  62. package/dist/XYPlotRenderer/index.js +0 -1
  63. package/dist/configSchema.js +0 -1
  64. package/dist/drawxy.js +0 -1
  65. package/dist/index.js +0 -1
  66. package/dist/shared/SetMinMaxDialog.js +0 -1
  67. package/dist/shared/YScaleBar.js +0 -1
  68. package/dist/shared/configShared.js +0 -1
  69. package/dist/shared/modelShared.js +0 -1
  70. package/dist/util.js +0 -1
  71. package/esm/BigWigAdapter/BigWigAdapter.js +0 -1
  72. package/esm/BigWigAdapter/configSchema.js +0 -1
  73. package/esm/BigWigAdapter/index.js +0 -1
  74. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
  75. package/esm/CreateMultiWiggleExtension/index.js +0 -1
  76. package/esm/DensityRenderer/DensityRenderer.js +0 -1
  77. package/esm/DensityRenderer/configSchema.js +0 -1
  78. package/esm/DensityRenderer/index.js +0 -1
  79. package/esm/LinePlotRenderer/LinePlotRenderer.js +0 -1
  80. package/esm/LinePlotRenderer/configSchema.js +0 -1
  81. package/esm/LinePlotRenderer/index.js +0 -1
  82. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
  83. package/esm/LinearWiggleDisplay/components/Tooltip.js +0 -1
  84. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  85. package/esm/LinearWiggleDisplay/index.js +0 -1
  86. package/esm/LinearWiggleDisplay/models/configSchema.js +0 -1
  87. package/esm/LinearWiggleDisplay/models/model.js +0 -1
  88. package/esm/LinearWiggleDisplay/models/renderSvg.js +0 -1
  89. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +0 -1
  90. package/esm/MultiDensityRenderer/configSchema.js +0 -1
  91. package/esm/MultiDensityRenderer/index.js +0 -1
  92. package/esm/MultiLineRenderer/MultiLineRenderer.js +0 -1
  93. package/esm/MultiLineRenderer/configSchema.js +0 -1
  94. package/esm/MultiLineRenderer/index.js +0 -1
  95. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  96. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
  97. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  98. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  99. package/esm/MultiLinearWiggleDisplay/components/util.js +0 -1
  100. package/esm/MultiLinearWiggleDisplay/index.js +0 -1
  101. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
  102. package/esm/MultiLinearWiggleDisplay/models/model.js +0 -1
  103. package/esm/MultiLinearWiggleDisplay/models/renderSvg.js +0 -1
  104. package/esm/MultiQuantitativeTrack/configSchema.js +0 -1
  105. package/esm/MultiQuantitativeTrack/index.js +0 -1
  106. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +0 -1
  107. package/esm/MultiRowLineRenderer/configSchema.js +0 -1
  108. package/esm/MultiRowLineRenderer/index.js +0 -1
  109. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +0 -1
  110. package/esm/MultiRowXYPlotRenderer/configSchema.js +0 -1
  111. package/esm/MultiRowXYPlotRenderer/index.js +0 -1
  112. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  113. package/esm/MultiWiggleAdapter/configSchema.js +0 -1
  114. package/esm/MultiWiggleAdapter/index.js +0 -1
  115. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
  116. package/esm/MultiWiggleAddTrackWidget/index.js +0 -1
  117. package/esm/MultiWiggleRendering.js +0 -1
  118. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
  119. package/esm/MultiXYPlotRenderer/configSchema.js +0 -1
  120. package/esm/MultiXYPlotRenderer/index.js +0 -1
  121. package/esm/QuantitativeTrack/configSchema.js +0 -1
  122. package/esm/QuantitativeTrack/index.js +0 -1
  123. package/esm/Tooltip.js +0 -1
  124. package/esm/WiggleBaseRenderer.js +0 -1
  125. package/esm/WiggleRPC/MultiWiggleGetSources.js +0 -1
  126. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  127. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  128. package/esm/WiggleRPC/rpcMethods.js +0 -1
  129. package/esm/WiggleRendering.js +0 -1
  130. package/esm/XYPlotRenderer/XYPlotRenderer.js +0 -1
  131. package/esm/XYPlotRenderer/configSchema.js +0 -1
  132. package/esm/XYPlotRenderer/index.js +0 -1
  133. package/esm/configSchema.js +0 -1
  134. package/esm/drawxy.js +0 -1
  135. package/esm/index.js +0 -1
  136. package/esm/shared/SetMinMaxDialog.js +0 -1
  137. package/esm/shared/YScaleBar.js +0 -1
  138. package/esm/shared/configShared.js +0 -1
  139. package/esm/shared/modelShared.js +0 -1
  140. package/esm/util.js +0 -1
  141. package/package.json +3 -4
  142. package/dist/BigWigAdapter/BigWigAdapter.js.map +0 -1
  143. package/dist/BigWigAdapter/configSchema.js.map +0 -1
  144. package/dist/BigWigAdapter/index.js.map +0 -1
  145. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  146. package/dist/CreateMultiWiggleExtension/index.js.map +0 -1
  147. package/dist/DensityRenderer/DensityRenderer.js.map +0 -1
  148. package/dist/DensityRenderer/configSchema.js.map +0 -1
  149. package/dist/DensityRenderer/index.js.map +0 -1
  150. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  151. package/dist/LinePlotRenderer/configSchema.js.map +0 -1
  152. package/dist/LinePlotRenderer/index.js.map +0 -1
  153. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  154. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  155. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  156. package/dist/LinearWiggleDisplay/index.js.map +0 -1
  157. package/dist/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  158. package/dist/LinearWiggleDisplay/models/model.js.map +0 -1
  159. package/dist/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
  160. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  161. package/dist/MultiDensityRenderer/configSchema.js.map +0 -1
  162. package/dist/MultiDensityRenderer/index.js.map +0 -1
  163. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  164. package/dist/MultiLineRenderer/configSchema.js.map +0 -1
  165. package/dist/MultiLineRenderer/index.js.map +0 -1
  166. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  167. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  168. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  169. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  170. package/dist/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  171. package/dist/MultiLinearWiggleDisplay/index.js.map +0 -1
  172. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  173. package/dist/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  174. package/dist/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
  175. package/dist/MultiQuantitativeTrack/configSchema.js.map +0 -1
  176. package/dist/MultiQuantitativeTrack/index.js.map +0 -1
  177. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  178. package/dist/MultiRowLineRenderer/configSchema.js.map +0 -1
  179. package/dist/MultiRowLineRenderer/index.js.map +0 -1
  180. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  181. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  182. package/dist/MultiRowXYPlotRenderer/index.js.map +0 -1
  183. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  184. package/dist/MultiWiggleAdapter/configSchema.js.map +0 -1
  185. package/dist/MultiWiggleAdapter/index.js.map +0 -1
  186. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  187. package/dist/MultiWiggleAddTrackWidget/index.js.map +0 -1
  188. package/dist/MultiWiggleRendering.js.map +0 -1
  189. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  190. package/dist/MultiXYPlotRenderer/configSchema.js.map +0 -1
  191. package/dist/MultiXYPlotRenderer/index.js.map +0 -1
  192. package/dist/QuantitativeTrack/configSchema.js.map +0 -1
  193. package/dist/QuantitativeTrack/index.js.map +0 -1
  194. package/dist/Tooltip.js.map +0 -1
  195. package/dist/WiggleBaseRenderer.js.map +0 -1
  196. package/dist/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  197. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  198. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  199. package/dist/WiggleRPC/rpcMethods.js.map +0 -1
  200. package/dist/WiggleRendering.js.map +0 -1
  201. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  202. package/dist/XYPlotRenderer/configSchema.js.map +0 -1
  203. package/dist/XYPlotRenderer/index.js.map +0 -1
  204. package/dist/configSchema.js.map +0 -1
  205. package/dist/drawxy.js.map +0 -1
  206. package/dist/index.js.map +0 -1
  207. package/dist/shared/SetMinMaxDialog.js.map +0 -1
  208. package/dist/shared/YScaleBar.js.map +0 -1
  209. package/dist/shared/configShared.js.map +0 -1
  210. package/dist/shared/modelShared.js.map +0 -1
  211. package/dist/util.js.map +0 -1
  212. package/esm/BigWigAdapter/BigWigAdapter.js.map +0 -1
  213. package/esm/BigWigAdapter/configSchema.js.map +0 -1
  214. package/esm/BigWigAdapter/index.js.map +0 -1
  215. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  216. package/esm/CreateMultiWiggleExtension/index.js.map +0 -1
  217. package/esm/DensityRenderer/DensityRenderer.js.map +0 -1
  218. package/esm/DensityRenderer/configSchema.js.map +0 -1
  219. package/esm/DensityRenderer/index.js.map +0 -1
  220. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  221. package/esm/LinePlotRenderer/configSchema.js.map +0 -1
  222. package/esm/LinePlotRenderer/index.js.map +0 -1
  223. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  224. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  225. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  226. package/esm/LinearWiggleDisplay/index.js.map +0 -1
  227. package/esm/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  228. package/esm/LinearWiggleDisplay/models/model.js.map +0 -1
  229. package/esm/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
  230. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  231. package/esm/MultiDensityRenderer/configSchema.js.map +0 -1
  232. package/esm/MultiDensityRenderer/index.js.map +0 -1
  233. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  234. package/esm/MultiLineRenderer/configSchema.js.map +0 -1
  235. package/esm/MultiLineRenderer/index.js.map +0 -1
  236. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  237. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  238. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  239. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  240. package/esm/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  241. package/esm/MultiLinearWiggleDisplay/index.js.map +0 -1
  242. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  243. package/esm/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  244. package/esm/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
  245. package/esm/MultiQuantitativeTrack/configSchema.js.map +0 -1
  246. package/esm/MultiQuantitativeTrack/index.js.map +0 -1
  247. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  248. package/esm/MultiRowLineRenderer/configSchema.js.map +0 -1
  249. package/esm/MultiRowLineRenderer/index.js.map +0 -1
  250. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  251. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  252. package/esm/MultiRowXYPlotRenderer/index.js.map +0 -1
  253. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  254. package/esm/MultiWiggleAdapter/configSchema.js.map +0 -1
  255. package/esm/MultiWiggleAdapter/index.js.map +0 -1
  256. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  257. package/esm/MultiWiggleAddTrackWidget/index.js.map +0 -1
  258. package/esm/MultiWiggleRendering.js.map +0 -1
  259. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  260. package/esm/MultiXYPlotRenderer/configSchema.js.map +0 -1
  261. package/esm/MultiXYPlotRenderer/index.js.map +0 -1
  262. package/esm/QuantitativeTrack/configSchema.js.map +0 -1
  263. package/esm/QuantitativeTrack/index.js.map +0 -1
  264. package/esm/Tooltip.js.map +0 -1
  265. package/esm/WiggleBaseRenderer.js.map +0 -1
  266. package/esm/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  267. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  268. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  269. package/esm/WiggleRPC/rpcMethods.js.map +0 -1
  270. package/esm/WiggleRendering.js.map +0 -1
  271. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  272. package/esm/XYPlotRenderer/configSchema.js.map +0 -1
  273. package/esm/XYPlotRenderer/index.js.map +0 -1
  274. package/esm/configSchema.js.map +0 -1
  275. package/esm/drawxy.js.map +0 -1
  276. package/esm/index.js.map +0 -1
  277. package/esm/shared/SetMinMaxDialog.js.map +0 -1
  278. package/esm/shared/YScaleBar.js.map +0 -1
  279. package/esm/shared/configShared.js.map +0 -1
  280. package/esm/shared/modelShared.js.map +0 -1
  281. package/esm/util.js.map +0 -1
  282. package/src/BigWigAdapter/BigWigAdapter.test.ts +0 -66
  283. package/src/BigWigAdapter/BigWigAdapter.ts +0 -112
  284. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +0 -117
  285. package/src/BigWigAdapter/configSchema.ts +0 -34
  286. package/src/BigWigAdapter/index.ts +0 -20
  287. package/src/BigWigAdapter/test_data/volvox.bw +0 -0
  288. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +0 -68
  289. package/src/CreateMultiWiggleExtension/index.ts +0 -66
  290. package/src/DensityRenderer/DensityRenderer.test.ts +0 -62
  291. package/src/DensityRenderer/DensityRenderer.ts +0 -14
  292. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.ts.snap +0 -21
  293. package/src/DensityRenderer/configSchema.ts +0 -22
  294. package/src/DensityRenderer/index.ts +0 -17
  295. package/src/LinePlotRenderer/LinePlotRenderer.ts +0 -19
  296. package/src/LinePlotRenderer/configSchema.ts +0 -30
  297. package/src/LinePlotRenderer/index.ts +0 -16
  298. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +0 -107
  299. package/src/LinearWiggleDisplay/components/Tooltip.tsx +0 -59
  300. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -53
  301. package/src/LinearWiggleDisplay/index.ts +0 -26
  302. package/src/LinearWiggleDisplay/models/configSchema.ts +0 -47
  303. package/src/LinearWiggleDisplay/models/model.tsx +0 -232
  304. package/src/LinearWiggleDisplay/models/renderSvg.tsx +0 -29
  305. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +0 -38
  306. package/src/MultiDensityRenderer/configSchema.ts +0 -21
  307. package/src/MultiDensityRenderer/index.ts +0 -16
  308. package/src/MultiLineRenderer/MultiLineRenderer.ts +0 -28
  309. package/src/MultiLineRenderer/configSchema.ts +0 -39
  310. package/src/MultiLineRenderer/index.ts +0 -17
  311. package/src/MultiLinearWiggleDisplay/components/DraggableDialog.tsx +0 -71
  312. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +0 -287
  313. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +0 -77
  314. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -254
  315. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +0 -1
  316. package/src/MultiLinearWiggleDisplay/components/util.test.ts +0 -69
  317. package/src/MultiLinearWiggleDisplay/components/util.ts +0 -33
  318. package/src/MultiLinearWiggleDisplay/index.ts +0 -21
  319. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +0 -74
  320. package/src/MultiLinearWiggleDisplay/models/model.tsx +0 -469
  321. package/src/MultiLinearWiggleDisplay/models/renderSvg.tsx +0 -26
  322. package/src/MultiQuantitativeTrack/configSchema.ts +0 -23
  323. package/src/MultiQuantitativeTrack/index.ts +0 -20
  324. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +0 -35
  325. package/src/MultiRowLineRenderer/configSchema.ts +0 -42
  326. package/src/MultiRowLineRenderer/index.ts +0 -16
  327. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +0 -42
  328. package/src/MultiRowXYPlotRenderer/configSchema.ts +0 -56
  329. package/src/MultiRowXYPlotRenderer/index.ts +0 -16
  330. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +0 -125
  331. package/src/MultiWiggleAdapter/configSchema.ts +0 -32
  332. package/src/MultiWiggleAdapter/index.ts +0 -24
  333. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  334. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +0 -130
  335. package/src/MultiWiggleAddTrackWidget/index.ts +0 -17
  336. package/src/MultiWiggleRendering.tsx +0 -125
  337. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +0 -32
  338. package/src/MultiXYPlotRenderer/configSchema.ts +0 -54
  339. package/src/MultiXYPlotRenderer/index.ts +0 -17
  340. package/src/QuantitativeTrack/configSchema.ts +0 -23
  341. package/src/QuantitativeTrack/index.ts +0 -20
  342. package/src/Tooltip.tsx +0 -123
  343. package/src/WiggleBaseRenderer.tsx +0 -91
  344. package/src/WiggleRPC/MultiWiggleGetSources.ts +0 -68
  345. package/src/WiggleRPC/WiggleGetGlobalQuantitativeStats.ts +0 -44
  346. package/src/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.ts +0 -73
  347. package/src/WiggleRPC/rpcMethods.ts +0 -3
  348. package/src/WiggleRendering.test.js +0 -21
  349. package/src/WiggleRendering.tsx +0 -76
  350. package/src/XYPlotRenderer/XYPlotRenderer.test.ts +0 -52
  351. package/src/XYPlotRenderer/XYPlotRenderer.ts +0 -37
  352. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.ts.snap +0 -21
  353. package/src/XYPlotRenderer/configSchema.ts +0 -55
  354. package/src/XYPlotRenderer/index.ts +0 -20
  355. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -15
  356. package/src/__snapshots__/index.test.ts.snap +0 -3
  357. package/src/configSchema.ts +0 -70
  358. package/src/drawxy.ts +0 -388
  359. package/src/index.test.ts +0 -16
  360. package/src/index.ts +0 -130
  361. package/src/shared/SetMinMaxDialog.tsx +0 -88
  362. package/src/shared/YScaleBar.tsx +0 -27
  363. package/src/shared/configShared.ts +0 -90
  364. package/src/shared/modelShared.ts +0 -510
  365. package/src/util.test.ts +0 -43
  366. package/src/util.ts +0 -318
@@ -1,33 +0,0 @@
1
- export function moveUp(arr: { name: string }[], sel: string[], 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
-
15
- return arr
16
- }
17
-
18
- export function moveDown(arr: { name: string }[], sel: string[], by = 1) {
19
- const idxs = sel
20
- .map(l => arr.findIndex(v => v.name === l))
21
- .sort((a, b) => b - a)
22
- let lastIdx = arr.length - 1
23
- for (let i = 0; i < idxs.length; i++) {
24
- const old = idxs[i]
25
- const idx = Math.min(lastIdx, old + by)
26
- if (idx <= lastIdx) {
27
- arr.splice(idx, 0, arr.splice(old, 1)[0])
28
- }
29
- lastIdx = lastIdx - 1
30
- }
31
-
32
- return arr
33
- }
@@ -1,21 +0,0 @@
1
- import PluginManager from '@jbrowse/core/PluginManager'
2
- import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType'
3
-
4
- import configSchemaFactory from './models/configSchema'
5
- import modelFactory from './models/model'
6
- import { lazy } from 'react'
7
-
8
- export default (pluginManager: PluginManager) => {
9
- pluginManager.addDisplayType(() => {
10
- const configSchema = configSchemaFactory(pluginManager)
11
- return new DisplayType({
12
- name: 'MultiLinearWiggleDisplay',
13
- displayName: 'Multi-wiggle display',
14
- configSchema,
15
- stateModel: modelFactory(pluginManager, configSchema),
16
- trackType: 'MultiQuantitativeTrack',
17
- viewType: 'LinearGenomeView',
18
- ReactComponent: lazy(() => import('./components/WiggleDisplayComponent')),
19
- })
20
- })
21
- }
@@ -1,74 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import { types } from 'mobx-state-tree'
3
- import PluginManager from '@jbrowse/core/PluginManager'
4
-
5
- // locals
6
- import sharedWiggleConfigFactory from '../../shared/configShared'
7
-
8
- /**
9
- * #config MultiLinearWiggleDisplay
10
- */
11
- function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
12
-
13
- export default function WiggleConfigFactory(pluginManager: PluginManager) {
14
- const MultiXYPlotRendererConfigSchema = pluginManager.getRendererType(
15
- 'MultiXYPlotRenderer',
16
- ).configSchema
17
- const MultiDensityRendererConfigSchema = pluginManager.getRendererType(
18
- 'MultiDensityRenderer',
19
- ).configSchema
20
- const MultiRowXYPlotRendererConfigSchema = pluginManager.getRendererType(
21
- 'MultiRowXYPlotRenderer',
22
- ).configSchema
23
- const MultiLineRendererConfigSchema =
24
- pluginManager.getRendererType('MultiLineRenderer').configSchema
25
- const MultiRowLineRendererConfigSchema = pluginManager.getRendererType(
26
- 'MultiRowLineRenderer',
27
- ).configSchema
28
-
29
- return ConfigurationSchema(
30
- 'MultiLinearWiggleDisplay',
31
- {
32
- /**
33
- * #slot
34
- */
35
- defaultRendering: {
36
- type: 'stringEnum',
37
- model: types.enumeration('Rendering', [
38
- 'multirowxy',
39
- 'xyplot',
40
- 'multirowdensity',
41
- 'multiline',
42
- 'multirowline',
43
- ]),
44
- defaultValue: 'multirowxy',
45
- },
46
-
47
- /**
48
- * #slot
49
- */
50
- renderers: ConfigurationSchema('RenderersConfiguration', {
51
- MultiXYPlotRenderer: MultiXYPlotRendererConfigSchema,
52
- MultiDensityRenderer: MultiDensityRendererConfigSchema,
53
- MultiRowXYPlotRenderer: MultiRowXYPlotRendererConfigSchema,
54
- MultiLineRenderer: MultiLineRendererConfigSchema,
55
- MultiRowLineRenderer: MultiRowLineRendererConfigSchema,
56
- }),
57
-
58
- /**
59
- * #slot
60
- */
61
- height: {
62
- type: 'number',
63
- defaultValue: 200,
64
- },
65
- },
66
- {
67
- /**
68
- * #baseConfiguration
69
- */
70
- baseConfiguration: sharedWiggleConfigFactory(),
71
- explicitlyTyped: true,
72
- },
73
- )
74
- }
@@ -1,469 +0,0 @@
1
- import React, { lazy } from 'react'
2
- import { addDisposer, isAlive, types, Instance } from 'mobx-state-tree'
3
- import { autorun } from 'mobx'
4
- import { axisPropsFromTickScale } from 'react-d3-axis-mod'
5
- import deepEqual from 'fast-deep-equal'
6
-
7
- // jbrowse imports
8
- import {
9
- AnyConfigurationSchemaType,
10
- getConf,
11
- } from '@jbrowse/core/configuration'
12
- import { getSession, Feature } from '@jbrowse/core/util'
13
- import { getRpcSessionId } from '@jbrowse/core/util/tracks'
14
- import { set1 as colors } from '@jbrowse/core/ui/colors'
15
- import PluginManager from '@jbrowse/core/PluginManager'
16
- import { ExportSvgDisplayOptions } from '@jbrowse/plugin-linear-genome-view'
17
-
18
- // locals
19
- import {
20
- getScale,
21
- quantitativeStatsAutorun,
22
- YSCALEBAR_LABEL_OFFSET,
23
- } from '../../util'
24
-
25
- import Tooltip from '../components/Tooltip'
26
- import SharedWiggleMixin from '../../shared/modelShared'
27
-
28
- const randomColor = () =>
29
- '#000000'.replaceAll('0', () => (~~(Math.random() * 16)).toString(16))
30
-
31
- // lazies
32
- const SetColorDlg = lazy(() => import('../components/SetColorDialog'))
33
-
34
- // using a map because it preserves order
35
- const rendererTypes = new Map([
36
- ['xyplot', 'MultiXYPlotRenderer'],
37
- ['multirowxy', 'MultiRowXYPlotRenderer'],
38
- ['multirowdensity', 'MultiDensityRenderer'],
39
- ['multiline', 'MultiLineRenderer'],
40
- ['multirowline', 'MultiRowLineRenderer'],
41
- ])
42
-
43
- interface Source {
44
- name: string
45
- color?: string
46
- group?: string
47
- }
48
-
49
- /**
50
- * #stateModel MultiLinearWiggleDisplay
51
- * extends `SharedWiggleMixin`
52
- */
53
- export function stateModelFactory(
54
- pluginManager: PluginManager,
55
- configSchema: AnyConfigurationSchemaType,
56
- ) {
57
- return types
58
- .compose(
59
- 'MultiLinearWiggleDisplay',
60
- SharedWiggleMixin(configSchema),
61
- types.model({
62
- /**
63
- * #property
64
- */
65
- type: types.literal('MultiLinearWiggleDisplay'),
66
-
67
- /**
68
- * #property
69
- */
70
- layout: types.optional(types.frozen<Source[]>(), []),
71
- }),
72
- )
73
- .volatile(() => ({
74
- featureUnderMouseVolatile: undefined as Feature | undefined,
75
- sourcesVolatile: undefined as Source[] | undefined,
76
- }))
77
- .actions(self => ({
78
- /**
79
- * #action
80
- */
81
- setLayout(layout: Source[]) {
82
- self.layout = layout
83
- },
84
- /**
85
- * #action
86
- */
87
- clearLayout() {
88
- self.layout = []
89
- },
90
-
91
- /**
92
- * #action
93
- */
94
- setSources(sources: Source[]) {
95
- if (!deepEqual(sources, self.sourcesVolatile)) {
96
- self.sourcesVolatile = sources
97
- }
98
- },
99
-
100
- /**
101
- * #action
102
- */
103
- setFeatureUnderMouse(f?: Feature) {
104
- self.featureUnderMouseVolatile = f
105
- },
106
- }))
107
- .views(self => ({
108
- /**
109
- * #getter
110
- */
111
- get featureUnderMouse() {
112
- return self.featureUnderMouseVolatile
113
- },
114
- /**
115
- * #getter
116
- */
117
- get TooltipComponent() {
118
- return Tooltip as unknown as React.FC
119
- },
120
-
121
- /**
122
- * #getter
123
- */
124
- get rendererTypeName() {
125
- const name = self.rendererTypeNameSimple
126
- const rendererType = rendererTypes.get(name)
127
- if (!rendererType) {
128
- throw new Error(`unknown renderer ${name}`)
129
- }
130
- return rendererType
131
- },
132
- }))
133
- .views(self => ({
134
- /**
135
- * #getter
136
- */
137
- get needsScalebar() {
138
- return (
139
- self.rendererTypeName === 'MultiXYPlotRenderer' ||
140
- self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
141
- self.rendererTypeName === 'MultiLineRenderer' ||
142
- self.rendererTypeName === 'MultiRowLineRenderer'
143
- )
144
- },
145
- /**
146
- * #getter
147
- */
148
- get needsFullHeightScalebar() {
149
- return (
150
- self.rendererTypeName === 'MultiXYPlotRenderer' ||
151
- self.rendererTypeName === 'MultiLineRenderer'
152
- )
153
- },
154
- /**
155
- * #getter
156
- */
157
- get isMultiRow() {
158
- return (
159
- self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
160
- self.rendererTypeName === 'MultiRowLineRenderer' ||
161
- self.rendererTypeName === 'MultiDensityRenderer'
162
- )
163
- },
164
- /**
165
- * #getter
166
- * can be used to give it a "color scale" like a R heatmap, not
167
- * implemented like this yet but flag can be used for this
168
- */
169
- get needsCustomLegend() {
170
- return self.rendererTypeName === 'MultiDensityRenderer'
171
- },
172
-
173
- get canHaveFill() {
174
- return (
175
- self.rendererTypeName === 'MultiXYPlotRenderer' ||
176
- self.rendererTypeName === 'MultiRowXYPlotRenderer'
177
- )
178
- },
179
- /**
180
- * #getter
181
- * the multirowxy and multiline don't need to use colors on the legend
182
- * boxes since their track is drawn with the color. sort of a stylistic
183
- * choice
184
- */
185
- get renderColorBoxes() {
186
- return !(
187
- self.rendererTypeName === 'MultiRowLineRenderer' ||
188
- self.rendererTypeName === 'MultiRowXYPlotRenderer'
189
- )
190
- },
191
- /**
192
- * #getter
193
- * positions multi-row below the tracklabel even if using overlap
194
- * tracklabels for everything else
195
- */
196
- get prefersOffset() {
197
- return this.isMultiRow
198
- },
199
- /**
200
- * #getter
201
- */
202
- get sources() {
203
- const sources = Object.fromEntries(
204
- self.sourcesVolatile?.map(s => [s.name, s]) || [],
205
- )
206
- const iter = self.layout.length ? self.layout : self.sourcesVolatile
207
- return iter
208
- ?.map(s => ({
209
- ...sources[s.name],
210
- ...s,
211
- }))
212
- .map((s, i) => ({
213
- ...s,
214
- color:
215
- s.color ||
216
- (!this.isMultiRow ? colors[i] || randomColor() : 'blue'),
217
- }))
218
- },
219
- }))
220
-
221
- .views(self => ({
222
- /**
223
- * #getter
224
- */
225
- get rowHeight() {
226
- const { sources, height, isMultiRow } = self
227
- return isMultiRow ? height / (sources?.length || 1) : height
228
- },
229
- /**
230
- * #getter
231
- */
232
- get rowHeightTooSmallForScalebar() {
233
- return this.rowHeight < 70
234
- },
235
-
236
- /**
237
- * #getter
238
- */
239
- get useMinimalTicks() {
240
- return (
241
- getConf(self, 'minimalTicks') || this.rowHeightTooSmallForScalebar
242
- )
243
- },
244
- }))
245
- .views(self => ({
246
- /**
247
- * #getter
248
- */
249
- get ticks() {
250
- const { scaleType, domain, isMultiRow, rowHeight, useMinimalTicks } =
251
- self
252
-
253
- if (!domain) {
254
- return undefined
255
- }
256
-
257
- const offset = isMultiRow ? 0 : YSCALEBAR_LABEL_OFFSET
258
- const ticks = axisPropsFromTickScale(
259
- getScale({
260
- scaleType,
261
- domain,
262
- range: [rowHeight - offset, offset],
263
- inverted: getConf(self, 'inverted') as boolean,
264
- }),
265
- 4,
266
- )
267
- return useMinimalTicks ? { ...ticks, values: domain } : ticks
268
- },
269
-
270
- /**
271
- * #getter
272
- */
273
- get colors() {
274
- return [
275
- 'red',
276
- 'blue',
277
- 'green',
278
- 'orange',
279
- 'purple',
280
- 'cyan',
281
- 'pink',
282
- 'darkblue',
283
- 'darkred',
284
- 'pink',
285
- ]
286
- },
287
- }))
288
- .views(self => {
289
- const { renderProps: superRenderProps } = self
290
- return {
291
- /**
292
- * #method
293
- */
294
- renderProps() {
295
- const superProps = superRenderProps()
296
- const {
297
- displayCrossHatches,
298
- filters,
299
- height,
300
- resolution,
301
- rpcDriverName,
302
- scaleOpts,
303
- stats,
304
- sources,
305
- ticks,
306
- rendererConfig: config,
307
- } = self
308
- return {
309
- ...superProps,
310
- notReady: superProps.notReady || !sources || !stats,
311
- displayModel: self,
312
- config,
313
- displayCrossHatches,
314
- filters,
315
- height,
316
- resolution,
317
- rpcDriverName,
318
- scaleOpts,
319
- sources,
320
- ticks,
321
- onMouseMove: (_: unknown, f: Feature) =>
322
- self.setFeatureUnderMouse(f),
323
- onMouseLeave: () => self.setFeatureUnderMouse(undefined),
324
- }
325
- },
326
-
327
- /**
328
- * #getter
329
- */
330
- get hasResolution() {
331
- return self.adapterCapabilities.includes('hasResolution')
332
- },
333
-
334
- /**
335
- * #getter
336
- */
337
- get hasGlobalStats() {
338
- return self.adapterCapabilities.includes('hasGlobalStats')
339
- },
340
-
341
- /**
342
- * #getter
343
- */
344
- get fillSetting() {
345
- if (self.filled) {
346
- return 0
347
- } else if (!self.filled && self.minSize === 1) {
348
- return 1
349
- } else {
350
- return 2
351
- }
352
- },
353
- }
354
- })
355
- .views(self => {
356
- const { trackMenuItems: superTrackMenuItems } = self
357
- const hasRenderings = getConf(self, 'defaultRendering')
358
- return {
359
- /**
360
- * #method
361
- */
362
- trackMenuItems() {
363
- return [
364
- ...superTrackMenuItems(),
365
- {
366
- label: 'Score',
367
- subMenu: self.scoreTrackMenuItems(),
368
- },
369
-
370
- ...(self.canHaveFill
371
- ? [
372
- {
373
- label: 'Fill mode',
374
- subMenu: ['filled', 'no fill', 'no fill w/ emphasis'].map(
375
- (elt, idx) => ({
376
- label: elt,
377
- type: 'radio',
378
- checked: self.fillSetting === idx,
379
- onClick: () => self.setFill(idx),
380
- }),
381
- ),
382
- },
383
- ]
384
- : []),
385
-
386
- ...(self.needsScalebar
387
- ? [
388
- {
389
- type: 'checkbox',
390
- label: 'Draw cross hatches',
391
- checked: self.displayCrossHatchesSetting,
392
- onClick: () => self.toggleCrossHatches(),
393
- },
394
- ]
395
- : []),
396
- ...(hasRenderings
397
- ? [
398
- {
399
- label: 'Renderer type',
400
- subMenu: [
401
- 'xyplot',
402
- 'multirowxy',
403
- 'multirowdensity',
404
- 'multiline',
405
- 'multirowline',
406
- ].map(key => ({
407
- label: key,
408
- type: 'radio',
409
- checked: self.rendererTypeNameSimple === key,
410
- onClick: () => self.setRendererType(key),
411
- })),
412
- },
413
- ]
414
- : []),
415
-
416
- {
417
- label: 'Edit colors/arrangement...',
418
- onClick: () => {
419
- getSession(self).queueDialog(handleClose => [
420
- SetColorDlg,
421
- { model: self, handleClose },
422
- ])
423
- },
424
- },
425
- ]
426
- },
427
- }
428
- })
429
- .actions(self => {
430
- const { renderSvg: superRenderSvg } = self
431
- return {
432
- afterAttach() {
433
- quantitativeStatsAutorun(self)
434
- addDisposer(
435
- self,
436
- autorun(async () => {
437
- const { rpcManager } = getSession(self)
438
- const { adapterConfig } = self
439
- const sessionId = getRpcSessionId(self)
440
- const sources = (await rpcManager.call(
441
- sessionId,
442
- 'MultiWiggleGetSources',
443
- {
444
- sessionId,
445
- adapterConfig,
446
- },
447
- )) as Source[]
448
- if (isAlive(self)) {
449
- self.setSources(sources)
450
- }
451
- }),
452
- )
453
- },
454
-
455
- /**
456
- * #action
457
- */
458
- async renderSvg(opts: ExportSvgDisplayOptions) {
459
- const { renderSvg } = await import('./renderSvg')
460
- return renderSvg(self, opts, superRenderSvg)
461
- },
462
- }
463
- })
464
- }
465
-
466
- export type WiggleDisplayStateModel = ReturnType<typeof stateModelFactory>
467
- export type WiggleDisplayModel = Instance<WiggleDisplayStateModel>
468
-
469
- export default stateModelFactory
@@ -1,26 +0,0 @@
1
- import React from 'react'
2
- import { getContainingView } from '@jbrowse/core/util'
3
- import { when } from 'mobx'
4
- import {
5
- ExportSvgDisplayOptions,
6
- LinearGenomeViewModel,
7
- } from '@jbrowse/plugin-linear-genome-view'
8
- import { WiggleDisplayModel } from './model'
9
- import { StatBars } from '../components/WiggleDisplayComponent'
10
-
11
- export async function renderSvg(
12
- self: WiggleDisplayModel,
13
- opts: ExportSvgDisplayOptions,
14
- superRenderSvg: (opts: ExportSvgDisplayOptions) => Promise<React.ReactNode>,
15
- ) {
16
- await when(() => !!self.stats && !!self.regionCannotBeRenderedText)
17
- const { offsetPx } = getContainingView(self) as LinearGenomeViewModel
18
- return (
19
- <>
20
- <g id="snpcov">{await superRenderSvg(opts)}</g>
21
- <g transform={`translate(${Math.max(-offsetPx, 0)})`}>
22
- <StatBars model={self} orientation="left" exportSVG />
23
- </g>
24
- </>
25
- )
26
- }
@@ -1,23 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes/models'
3
- import PluginManager from '@jbrowse/core/PluginManager'
4
-
5
- /**
6
- * #config MultiQuantitativeTrack
7
- */
8
- function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
9
-
10
- const configSchema = (pluginManager: PluginManager) => {
11
- return ConfigurationSchema(
12
- 'MultiQuantitativeTrack',
13
- {},
14
- {
15
- /**
16
- * #baseConfiguration
17
- */
18
- baseConfiguration: createBaseTrackConfig(pluginManager),
19
- },
20
- )
21
- }
22
-
23
- export default configSchema
@@ -1,20 +0,0 @@
1
- import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
2
- import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType'
3
- import PluginManager from '@jbrowse/core/PluginManager'
4
- import configSchemaF from './configSchema'
5
-
6
- export default (pluginManager: PluginManager) => {
7
- pluginManager.addTrackType(() => {
8
- const configSchema = configSchemaF(pluginManager)
9
- return new TrackType({
10
- name: 'MultiQuantitativeTrack',
11
- displayName: 'Multi-quantitative track',
12
- configSchema,
13
- stateModel: createBaseTrackModel(
14
- pluginManager,
15
- 'MultiQuantitativeTrack',
16
- configSchema,
17
- ),
18
- })
19
- })
20
- }
@@ -1,35 +0,0 @@
1
- import { groupBy, Feature } from '@jbrowse/core/util'
2
- import { drawLine } from '../drawxy'
3
- import WiggleBaseRenderer, {
4
- MultiRenderArgsDeserialized as MultiArgs,
5
- } from '../WiggleBaseRenderer'
6
-
7
- export default class MultiRowLineRenderer extends WiggleBaseRenderer {
8
- // @ts-expect-error
9
- async draw(ctx: CanvasRenderingContext2D, props: MultiArgs) {
10
- const { bpPerPx, sources, regions, features } = props
11
- const [region] = regions
12
- const groups = groupBy([...features.values()], f => f.get('source'))
13
- const height = props.height / Object.keys(groups).length
14
- const width = (region.end - region.start) / bpPerPx
15
- let feats = [] as Feature[]
16
- ctx.save()
17
- sources.forEach(source => {
18
- const { reducedFeatures } = drawLine(ctx, {
19
- ...props,
20
- features: groups[source.name],
21
- height,
22
- colorCallback: () => source.color || 'blue',
23
- })
24
- ctx.strokeStyle = 'rgba(200,200,200,0.8)'
25
- ctx.beginPath()
26
- ctx.moveTo(0, height)
27
- ctx.lineTo(width, height)
28
- ctx.stroke()
29
- ctx.translate(0, height)
30
- feats = [...feats, ...reducedFeatures]
31
- })
32
- ctx.restore()
33
- return { reducedFeatures: feats }
34
- }
35
- }