@jbrowse/plugin-wiggle 2.6.1 → 2.6.3

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 (388) 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.d.ts +0 -1
  15. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -4
  16. package/dist/LinearWiggleDisplay/index.js +0 -1
  17. package/dist/LinearWiggleDisplay/models/configSchema.js +0 -1
  18. package/dist/LinearWiggleDisplay/models/model.js +0 -1
  19. package/dist/LinearWiggleDisplay/models/renderSvg.js +0 -1
  20. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +1 -2
  21. package/dist/MultiDensityRenderer/configSchema.js +0 -1
  22. package/dist/MultiDensityRenderer/index.js +0 -1
  23. package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -1
  24. package/dist/MultiLineRenderer/configSchema.js +0 -1
  25. package/dist/MultiLineRenderer/index.js +0 -1
  26. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +9 -0
  27. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +28 -0
  28. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  29. package/dist/MultiLinearWiggleDisplay/components/RectBg.d.ts +9 -0
  30. package/dist/MultiLinearWiggleDisplay/components/RectBg.js +11 -0
  31. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +6 -0
  32. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.js +22 -0
  33. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
  34. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  35. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  36. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +5 -92
  37. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +8 -0
  38. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +53 -0
  39. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +2 -0
  40. package/dist/MultiLinearWiggleDisplay/components/util.js +14 -2
  41. package/dist/MultiLinearWiggleDisplay/index.js +0 -1
  42. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
  43. package/dist/MultiLinearWiggleDisplay/models/model.js +0 -1
  44. package/dist/MultiLinearWiggleDisplay/models/renderSvg.js +2 -3
  45. package/dist/MultiQuantitativeTrack/configSchema.js +0 -1
  46. package/dist/MultiQuantitativeTrack/index.js +0 -1
  47. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
  48. package/dist/MultiRowLineRenderer/configSchema.js +0 -1
  49. package/dist/MultiRowLineRenderer/index.js +0 -1
  50. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
  51. package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -1
  52. package/dist/MultiRowXYPlotRenderer/index.js +0 -1
  53. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  54. package/dist/MultiWiggleAdapter/configSchema.js +0 -1
  55. package/dist/MultiWiggleAdapter/index.js +0 -1
  56. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
  57. package/dist/MultiWiggleAddTrackWidget/index.js +0 -1
  58. package/dist/MultiWiggleRendering.js +0 -1
  59. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
  60. package/dist/MultiXYPlotRenderer/configSchema.js +0 -1
  61. package/dist/MultiXYPlotRenderer/index.js +0 -1
  62. package/dist/QuantitativeTrack/configSchema.js +0 -1
  63. package/dist/QuantitativeTrack/index.js +0 -1
  64. package/dist/Tooltip.js +0 -1
  65. package/dist/WiggleBaseRenderer.js +0 -1
  66. package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -1
  67. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  68. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  69. package/dist/WiggleRPC/rpcMethods.js +0 -1
  70. package/dist/WiggleRendering.js +0 -1
  71. package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -1
  72. package/dist/XYPlotRenderer/configSchema.js +0 -1
  73. package/dist/XYPlotRenderer/index.js +0 -1
  74. package/dist/configSchema.js +0 -1
  75. package/dist/drawxy.js +0 -1
  76. package/dist/index.js +0 -1
  77. package/dist/shared/SetMinMaxDialog.js +0 -1
  78. package/dist/shared/YScaleBar.js +0 -1
  79. package/dist/shared/configShared.js +0 -1
  80. package/dist/shared/modelShared.js +0 -1
  81. package/dist/util.js +0 -1
  82. package/esm/BigWigAdapter/BigWigAdapter.js +0 -1
  83. package/esm/BigWigAdapter/configSchema.js +0 -1
  84. package/esm/BigWigAdapter/index.js +0 -1
  85. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
  86. package/esm/CreateMultiWiggleExtension/index.js +0 -1
  87. package/esm/DensityRenderer/DensityRenderer.js +0 -1
  88. package/esm/DensityRenderer/configSchema.js +0 -1
  89. package/esm/DensityRenderer/index.js +0 -1
  90. package/esm/LinePlotRenderer/LinePlotRenderer.js +0 -1
  91. package/esm/LinePlotRenderer/configSchema.js +0 -1
  92. package/esm/LinePlotRenderer/index.js +0 -1
  93. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
  94. package/esm/LinearWiggleDisplay/components/Tooltip.js +0 -1
  95. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -1
  96. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -2
  97. package/esm/LinearWiggleDisplay/index.js +0 -1
  98. package/esm/LinearWiggleDisplay/models/configSchema.js +0 -1
  99. package/esm/LinearWiggleDisplay/models/model.js +0 -1
  100. package/esm/LinearWiggleDisplay/models/renderSvg.js +0 -1
  101. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +1 -2
  102. package/esm/MultiDensityRenderer/configSchema.js +0 -1
  103. package/esm/MultiDensityRenderer/index.js +0 -1
  104. package/esm/MultiLineRenderer/MultiLineRenderer.js +0 -1
  105. package/esm/MultiLineRenderer/configSchema.js +0 -1
  106. package/esm/MultiLineRenderer/index.js +0 -1
  107. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +9 -0
  108. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +23 -0
  109. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  110. package/esm/MultiLinearWiggleDisplay/components/RectBg.d.ts +9 -0
  111. package/esm/MultiLinearWiggleDisplay/components/RectBg.js +6 -0
  112. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +6 -0
  113. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +17 -0
  114. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
  115. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  116. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  117. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +3 -90
  118. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +8 -0
  119. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +47 -0
  120. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +2 -0
  121. package/esm/MultiLinearWiggleDisplay/components/util.js +12 -1
  122. package/esm/MultiLinearWiggleDisplay/index.js +0 -1
  123. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
  124. package/esm/MultiLinearWiggleDisplay/models/model.js +0 -1
  125. package/esm/MultiLinearWiggleDisplay/models/renderSvg.js +2 -3
  126. package/esm/MultiQuantitativeTrack/configSchema.js +0 -1
  127. package/esm/MultiQuantitativeTrack/index.js +0 -1
  128. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
  129. package/esm/MultiRowLineRenderer/configSchema.js +0 -1
  130. package/esm/MultiRowLineRenderer/index.js +0 -1
  131. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
  132. package/esm/MultiRowXYPlotRenderer/configSchema.js +0 -1
  133. package/esm/MultiRowXYPlotRenderer/index.js +0 -1
  134. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  135. package/esm/MultiWiggleAdapter/configSchema.js +0 -1
  136. package/esm/MultiWiggleAdapter/index.js +0 -1
  137. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
  138. package/esm/MultiWiggleAddTrackWidget/index.js +0 -1
  139. package/esm/MultiWiggleRendering.js +0 -1
  140. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
  141. package/esm/MultiXYPlotRenderer/configSchema.js +0 -1
  142. package/esm/MultiXYPlotRenderer/index.js +0 -1
  143. package/esm/QuantitativeTrack/configSchema.js +0 -1
  144. package/esm/QuantitativeTrack/index.js +0 -1
  145. package/esm/Tooltip.js +0 -1
  146. package/esm/WiggleBaseRenderer.js +0 -1
  147. package/esm/WiggleRPC/MultiWiggleGetSources.js +0 -1
  148. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  149. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  150. package/esm/WiggleRPC/rpcMethods.js +0 -1
  151. package/esm/WiggleRendering.js +0 -1
  152. package/esm/XYPlotRenderer/XYPlotRenderer.js +0 -1
  153. package/esm/XYPlotRenderer/configSchema.js +0 -1
  154. package/esm/XYPlotRenderer/index.js +0 -1
  155. package/esm/configSchema.js +0 -1
  156. package/esm/drawxy.js +0 -1
  157. package/esm/index.js +0 -1
  158. package/esm/shared/SetMinMaxDialog.js +0 -1
  159. package/esm/shared/YScaleBar.js +0 -1
  160. package/esm/shared/configShared.js +0 -1
  161. package/esm/shared/modelShared.js +0 -1
  162. package/esm/util.js +0 -1
  163. package/package.json +3 -4
  164. package/dist/BigWigAdapter/BigWigAdapter.js.map +0 -1
  165. package/dist/BigWigAdapter/configSchema.js.map +0 -1
  166. package/dist/BigWigAdapter/index.js.map +0 -1
  167. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  168. package/dist/CreateMultiWiggleExtension/index.js.map +0 -1
  169. package/dist/DensityRenderer/DensityRenderer.js.map +0 -1
  170. package/dist/DensityRenderer/configSchema.js.map +0 -1
  171. package/dist/DensityRenderer/index.js.map +0 -1
  172. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  173. package/dist/LinePlotRenderer/configSchema.js.map +0 -1
  174. package/dist/LinePlotRenderer/index.js.map +0 -1
  175. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  176. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  177. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  178. package/dist/LinearWiggleDisplay/index.js.map +0 -1
  179. package/dist/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  180. package/dist/LinearWiggleDisplay/models/model.js.map +0 -1
  181. package/dist/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
  182. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  183. package/dist/MultiDensityRenderer/configSchema.js.map +0 -1
  184. package/dist/MultiDensityRenderer/index.js.map +0 -1
  185. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  186. package/dist/MultiLineRenderer/configSchema.js.map +0 -1
  187. package/dist/MultiLineRenderer/index.js.map +0 -1
  188. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  189. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  190. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  191. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  192. package/dist/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  193. package/dist/MultiLinearWiggleDisplay/index.js.map +0 -1
  194. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  195. package/dist/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  196. package/dist/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
  197. package/dist/MultiQuantitativeTrack/configSchema.js.map +0 -1
  198. package/dist/MultiQuantitativeTrack/index.js.map +0 -1
  199. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  200. package/dist/MultiRowLineRenderer/configSchema.js.map +0 -1
  201. package/dist/MultiRowLineRenderer/index.js.map +0 -1
  202. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  203. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  204. package/dist/MultiRowXYPlotRenderer/index.js.map +0 -1
  205. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  206. package/dist/MultiWiggleAdapter/configSchema.js.map +0 -1
  207. package/dist/MultiWiggleAdapter/index.js.map +0 -1
  208. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  209. package/dist/MultiWiggleAddTrackWidget/index.js.map +0 -1
  210. package/dist/MultiWiggleRendering.js.map +0 -1
  211. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  212. package/dist/MultiXYPlotRenderer/configSchema.js.map +0 -1
  213. package/dist/MultiXYPlotRenderer/index.js.map +0 -1
  214. package/dist/QuantitativeTrack/configSchema.js.map +0 -1
  215. package/dist/QuantitativeTrack/index.js.map +0 -1
  216. package/dist/Tooltip.js.map +0 -1
  217. package/dist/WiggleBaseRenderer.js.map +0 -1
  218. package/dist/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  219. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  220. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  221. package/dist/WiggleRPC/rpcMethods.js.map +0 -1
  222. package/dist/WiggleRendering.js.map +0 -1
  223. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  224. package/dist/XYPlotRenderer/configSchema.js.map +0 -1
  225. package/dist/XYPlotRenderer/index.js.map +0 -1
  226. package/dist/configSchema.js.map +0 -1
  227. package/dist/drawxy.js.map +0 -1
  228. package/dist/index.js.map +0 -1
  229. package/dist/shared/SetMinMaxDialog.js.map +0 -1
  230. package/dist/shared/YScaleBar.js.map +0 -1
  231. package/dist/shared/configShared.js.map +0 -1
  232. package/dist/shared/modelShared.js.map +0 -1
  233. package/dist/util.js.map +0 -1
  234. package/esm/BigWigAdapter/BigWigAdapter.js.map +0 -1
  235. package/esm/BigWigAdapter/configSchema.js.map +0 -1
  236. package/esm/BigWigAdapter/index.js.map +0 -1
  237. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  238. package/esm/CreateMultiWiggleExtension/index.js.map +0 -1
  239. package/esm/DensityRenderer/DensityRenderer.js.map +0 -1
  240. package/esm/DensityRenderer/configSchema.js.map +0 -1
  241. package/esm/DensityRenderer/index.js.map +0 -1
  242. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  243. package/esm/LinePlotRenderer/configSchema.js.map +0 -1
  244. package/esm/LinePlotRenderer/index.js.map +0 -1
  245. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  246. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  247. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  248. package/esm/LinearWiggleDisplay/index.js.map +0 -1
  249. package/esm/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  250. package/esm/LinearWiggleDisplay/models/model.js.map +0 -1
  251. package/esm/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
  252. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  253. package/esm/MultiDensityRenderer/configSchema.js.map +0 -1
  254. package/esm/MultiDensityRenderer/index.js.map +0 -1
  255. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  256. package/esm/MultiLineRenderer/configSchema.js.map +0 -1
  257. package/esm/MultiLineRenderer/index.js.map +0 -1
  258. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  259. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  260. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  261. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  262. package/esm/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  263. package/esm/MultiLinearWiggleDisplay/index.js.map +0 -1
  264. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  265. package/esm/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  266. package/esm/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
  267. package/esm/MultiQuantitativeTrack/configSchema.js.map +0 -1
  268. package/esm/MultiQuantitativeTrack/index.js.map +0 -1
  269. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  270. package/esm/MultiRowLineRenderer/configSchema.js.map +0 -1
  271. package/esm/MultiRowLineRenderer/index.js.map +0 -1
  272. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  273. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  274. package/esm/MultiRowXYPlotRenderer/index.js.map +0 -1
  275. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  276. package/esm/MultiWiggleAdapter/configSchema.js.map +0 -1
  277. package/esm/MultiWiggleAdapter/index.js.map +0 -1
  278. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  279. package/esm/MultiWiggleAddTrackWidget/index.js.map +0 -1
  280. package/esm/MultiWiggleRendering.js.map +0 -1
  281. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  282. package/esm/MultiXYPlotRenderer/configSchema.js.map +0 -1
  283. package/esm/MultiXYPlotRenderer/index.js.map +0 -1
  284. package/esm/QuantitativeTrack/configSchema.js.map +0 -1
  285. package/esm/QuantitativeTrack/index.js.map +0 -1
  286. package/esm/Tooltip.js.map +0 -1
  287. package/esm/WiggleBaseRenderer.js.map +0 -1
  288. package/esm/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  289. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  290. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  291. package/esm/WiggleRPC/rpcMethods.js.map +0 -1
  292. package/esm/WiggleRendering.js.map +0 -1
  293. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  294. package/esm/XYPlotRenderer/configSchema.js.map +0 -1
  295. package/esm/XYPlotRenderer/index.js.map +0 -1
  296. package/esm/configSchema.js.map +0 -1
  297. package/esm/drawxy.js.map +0 -1
  298. package/esm/index.js.map +0 -1
  299. package/esm/shared/SetMinMaxDialog.js.map +0 -1
  300. package/esm/shared/YScaleBar.js.map +0 -1
  301. package/esm/shared/configShared.js.map +0 -1
  302. package/esm/shared/modelShared.js.map +0 -1
  303. package/esm/util.js.map +0 -1
  304. package/src/BigWigAdapter/BigWigAdapter.test.ts +0 -66
  305. package/src/BigWigAdapter/BigWigAdapter.ts +0 -112
  306. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +0 -117
  307. package/src/BigWigAdapter/configSchema.ts +0 -34
  308. package/src/BigWigAdapter/index.ts +0 -20
  309. package/src/BigWigAdapter/test_data/volvox.bw +0 -0
  310. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +0 -68
  311. package/src/CreateMultiWiggleExtension/index.ts +0 -66
  312. package/src/DensityRenderer/DensityRenderer.test.ts +0 -62
  313. package/src/DensityRenderer/DensityRenderer.ts +0 -14
  314. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.ts.snap +0 -21
  315. package/src/DensityRenderer/configSchema.ts +0 -22
  316. package/src/DensityRenderer/index.ts +0 -17
  317. package/src/LinePlotRenderer/LinePlotRenderer.ts +0 -19
  318. package/src/LinePlotRenderer/configSchema.ts +0 -30
  319. package/src/LinePlotRenderer/index.ts +0 -16
  320. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +0 -107
  321. package/src/LinearWiggleDisplay/components/Tooltip.tsx +0 -59
  322. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -53
  323. package/src/LinearWiggleDisplay/index.ts +0 -26
  324. package/src/LinearWiggleDisplay/models/configSchema.ts +0 -47
  325. package/src/LinearWiggleDisplay/models/model.tsx +0 -232
  326. package/src/LinearWiggleDisplay/models/renderSvg.tsx +0 -29
  327. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +0 -38
  328. package/src/MultiDensityRenderer/configSchema.ts +0 -21
  329. package/src/MultiDensityRenderer/index.ts +0 -16
  330. package/src/MultiLineRenderer/MultiLineRenderer.ts +0 -28
  331. package/src/MultiLineRenderer/configSchema.ts +0 -39
  332. package/src/MultiLineRenderer/index.ts +0 -17
  333. package/src/MultiLinearWiggleDisplay/components/DraggableDialog.tsx +0 -71
  334. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +0 -287
  335. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +0 -77
  336. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -254
  337. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +0 -1
  338. package/src/MultiLinearWiggleDisplay/components/util.test.ts +0 -69
  339. package/src/MultiLinearWiggleDisplay/components/util.ts +0 -33
  340. package/src/MultiLinearWiggleDisplay/index.ts +0 -21
  341. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +0 -74
  342. package/src/MultiLinearWiggleDisplay/models/model.tsx +0 -469
  343. package/src/MultiLinearWiggleDisplay/models/renderSvg.tsx +0 -26
  344. package/src/MultiQuantitativeTrack/configSchema.ts +0 -23
  345. package/src/MultiQuantitativeTrack/index.ts +0 -20
  346. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +0 -35
  347. package/src/MultiRowLineRenderer/configSchema.ts +0 -42
  348. package/src/MultiRowLineRenderer/index.ts +0 -16
  349. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +0 -42
  350. package/src/MultiRowXYPlotRenderer/configSchema.ts +0 -56
  351. package/src/MultiRowXYPlotRenderer/index.ts +0 -16
  352. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +0 -125
  353. package/src/MultiWiggleAdapter/configSchema.ts +0 -32
  354. package/src/MultiWiggleAdapter/index.ts +0 -24
  355. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  356. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +0 -130
  357. package/src/MultiWiggleAddTrackWidget/index.ts +0 -17
  358. package/src/MultiWiggleRendering.tsx +0 -125
  359. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +0 -32
  360. package/src/MultiXYPlotRenderer/configSchema.ts +0 -54
  361. package/src/MultiXYPlotRenderer/index.ts +0 -17
  362. package/src/QuantitativeTrack/configSchema.ts +0 -23
  363. package/src/QuantitativeTrack/index.ts +0 -20
  364. package/src/Tooltip.tsx +0 -123
  365. package/src/WiggleBaseRenderer.tsx +0 -91
  366. package/src/WiggleRPC/MultiWiggleGetSources.ts +0 -68
  367. package/src/WiggleRPC/WiggleGetGlobalQuantitativeStats.ts +0 -44
  368. package/src/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.ts +0 -73
  369. package/src/WiggleRPC/rpcMethods.ts +0 -3
  370. package/src/WiggleRendering.test.js +0 -21
  371. package/src/WiggleRendering.tsx +0 -76
  372. package/src/XYPlotRenderer/XYPlotRenderer.test.ts +0 -52
  373. package/src/XYPlotRenderer/XYPlotRenderer.ts +0 -37
  374. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.ts.snap +0 -21
  375. package/src/XYPlotRenderer/configSchema.ts +0 -55
  376. package/src/XYPlotRenderer/index.ts +0 -20
  377. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -15
  378. package/src/__snapshots__/index.test.ts.snap +0 -3
  379. package/src/configSchema.ts +0 -70
  380. package/src/drawxy.ts +0 -388
  381. package/src/index.test.ts +0 -16
  382. package/src/index.ts +0 -130
  383. package/src/shared/SetMinMaxDialog.tsx +0 -88
  384. package/src/shared/YScaleBar.tsx +0 -27
  385. package/src/shared/configShared.ts +0 -90
  386. package/src/shared/modelShared.ts +0 -510
  387. package/src/util.test.ts +0 -43
  388. package/src/util.ts +0 -318
@@ -1,37 +0,0 @@
1
- import { readConfObject } from '@jbrowse/core/configuration'
2
- import { Feature } from '@jbrowse/core/util'
3
- import { drawXY } from '../drawxy'
4
- import WiggleBaseRenderer, {
5
- RenderArgsDeserializedWithFeatures,
6
- } from '../WiggleBaseRenderer'
7
- import { YSCALEBAR_LABEL_OFFSET } from '../util'
8
-
9
- export default class XYPlotRenderer extends WiggleBaseRenderer {
10
- async draw(
11
- ctx: CanvasRenderingContext2D,
12
- props: RenderArgsDeserializedWithFeatures,
13
- ) {
14
- const { features, config } = props
15
-
16
- // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
17
- // wiggle display, and makes the height of the actual drawn area add
18
- // "padding" to the top and bottom of the display
19
- const pivotValue = readConfObject(config, 'bicolorPivotValue')
20
- const negColor = readConfObject(config, 'negColor')
21
- const posColor = readConfObject(config, 'posColor')
22
- const Color = await import('color').then(f => f.default)
23
-
24
- return drawXY(ctx, {
25
- ...props,
26
- colorCallback:
27
- readConfObject(config, 'color') === '#f0f'
28
- ? (_: Feature, score: number) =>
29
- score < pivotValue ? negColor : posColor
30
- : (feature: Feature, _score: number) =>
31
- readConfObject(config, 'color', { feature }),
32
- offset: YSCALEBAR_LABEL_OFFSET,
33
- features: [...features.values()],
34
- Color,
35
- })
36
- }
37
- }
@@ -1,21 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`several features 1`] = `
4
- {
5
- "imageData": Any<Object>,
6
- "reducedFeatures": [
7
- {
8
- "end": 100,
9
- "score": 1,
10
- "start": 1,
11
- "uniqueId": "t1",
12
- },
13
- {
14
- "end": 200,
15
- "score": 2,
16
- "start": 101,
17
- "uniqueId": "t2",
18
- },
19
- ],
20
- }
21
- `;
@@ -1,55 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import baseWiggleRendererConfigSchema from '../configSchema'
3
- import { types } from 'mobx-state-tree'
4
-
5
- /**
6
- * #config XYPlotRenderer
7
- */
8
- function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
9
-
10
- const configSchema = ConfigurationSchema(
11
- 'XYPlotRenderer',
12
- {
13
- /**
14
- * #slot
15
- */
16
- filled: {
17
- type: 'boolean',
18
- defaultValue: true,
19
- },
20
- /**
21
- * #slot
22
- */
23
- displayCrossHatches: {
24
- type: 'boolean',
25
- description: 'choose to draw cross hatches (sideways lines)',
26
- defaultValue: false,
27
- },
28
- /**
29
- * #slot
30
- */
31
- summaryScoreMode: {
32
- type: 'stringEnum',
33
- model: types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
34
- description:
35
- 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
36
- defaultValue: 'whiskers',
37
- },
38
- /**
39
- * #slot
40
- */
41
- minSize: {
42
- type: 'number',
43
- defaultValue: 0,
44
- },
45
- },
46
- {
47
- /**
48
- * #baseConfiguration
49
- */
50
- baseConfiguration: baseWiggleRendererConfigSchema,
51
- explicitlyTyped: true,
52
- },
53
- )
54
-
55
- export default configSchema
@@ -1,20 +0,0 @@
1
- import ReactComponent from '../WiggleRendering'
2
- import PluginManager from '@jbrowse/core/PluginManager'
3
- import XYPlotRenderer from './XYPlotRenderer'
4
- import configSchema from './configSchema'
5
-
6
- export default (pluginManager: PluginManager) => {
7
- pluginManager.addRendererType(
8
- () =>
9
- new XYPlotRenderer({
10
- name: 'XYPlotRenderer',
11
- ReactComponent,
12
- configSchema,
13
- pluginManager,
14
- }),
15
- )
16
- }
17
-
18
- export { default as XYPlotRenderer } from './XYPlotRenderer'
19
- export { default as ReactComponent } from '../WiggleRendering'
20
- export { default as configSchema } from './configSchema'
@@ -1,15 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`one 1`] = `
4
- <div
5
- data-testid="wiggle-rendering-test"
6
- style="overflow: visible; position: relative; height: 500px;"
7
- >
8
- <canvas
9
- data-testid="prerendered_canvas"
10
- height="500"
11
- style="width: 500px; height: 500px;"
12
- width="500"
13
- />
14
- </div>
15
- `;
@@ -1,3 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`plugin in a stock JBrowse 1`] = `{}`;
@@ -1,70 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import { types } from 'mobx-state-tree'
3
-
4
- /**
5
- * #config WiggleRenderer
6
- * this is the "base wiggle renderer config schema"
7
- */
8
- function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
9
-
10
- const WiggleRenderer = ConfigurationSchema(
11
- 'WiggleRenderer',
12
- {
13
- /**
14
- * #slot
15
- */
16
- color: {
17
- type: 'color',
18
- description: 'the color of track, overrides posColor and negColor',
19
- defaultValue: '#f0f',
20
- },
21
- /**
22
- * #slot
23
- */
24
- posColor: {
25
- type: 'color',
26
- description: 'the color to use when the score is positive',
27
- defaultValue: 'blue',
28
- },
29
- /**
30
- * #slot
31
- */
32
- negColor: {
33
- type: 'color',
34
- description: 'the color to use when the score is negative',
35
- defaultValue: 'red',
36
- },
37
- /**
38
- * #slot
39
- */
40
- clipColor: {
41
- type: 'color',
42
- description: 'the color of the clipping marker',
43
- defaultValue: 'red',
44
- },
45
- /**
46
- * #slot
47
- */
48
- bicolorPivot: {
49
- type: 'stringEnum',
50
- model: types.enumeration('Scale type', [
51
- 'numeric',
52
- 'mean',
53
- 'z_score',
54
- 'none',
55
- ]),
56
- description: 'type of bicolor pivot',
57
- defaultValue: 'numeric',
58
- },
59
- /**
60
- * #slot
61
- */
62
- bicolorPivotValue: {
63
- type: 'number',
64
- defaultValue: 0,
65
- description: 'value to use for bicolor pivot',
66
- },
67
- },
68
- { explicitlyTyped: true },
69
- )
70
- export default WiggleRenderer
package/src/drawxy.ts DELETED
@@ -1,388 +0,0 @@
1
- import {
2
- AnyConfigurationModel,
3
- readConfObject,
4
- } from '@jbrowse/core/configuration'
5
- import { clamp, featureSpanPx, Feature, Region } from '@jbrowse/core/util'
6
-
7
- // locals
8
- import { getOrigin, getScale, ScaleOpts } from './util'
9
-
10
- // avoid drawing negative width features for SVG exports
11
- function fillRectCtx(
12
- x: number,
13
- y: number,
14
- width: number,
15
- height: number,
16
- ctx: CanvasRenderingContext2D,
17
- color?: string,
18
- ) {
19
- if (width < 0) {
20
- x += width
21
- width = -width
22
- }
23
- if (height < 0) {
24
- y += height
25
- height = -height
26
- }
27
-
28
- if (color) {
29
- ctx.fillStyle = color
30
- }
31
- ctx.fillRect(x, y, width, height)
32
- }
33
-
34
- const fudgeFactor = 0.4
35
- const clipHeight = 2
36
-
37
- export function drawXY(
38
- ctx: CanvasRenderingContext2D,
39
- props: {
40
- features: Map<string, Feature> | Feature[]
41
- bpPerPx: number
42
- regions: Region[]
43
- scaleOpts: ScaleOpts
44
- height: number
45
- ticks: { values: number[] }
46
- config: AnyConfigurationModel
47
- displayCrossHatches: boolean
48
- offset?: number
49
- colorCallback: (f: Feature, score: number) => string
50
- Color: typeof import('color')
51
- },
52
- ) {
53
- const {
54
- features,
55
- bpPerPx,
56
- regions,
57
- scaleOpts,
58
- height: unadjustedHeight,
59
- config,
60
- ticks,
61
- displayCrossHatches,
62
- offset = 0,
63
- colorCallback,
64
- Color,
65
- } = props
66
- const [region] = regions
67
- const width = (region.end - region.start) / bpPerPx
68
-
69
- // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
70
- // wiggle display, and makes the height of the actual drawn area add
71
- // "padding" to the top and bottom of the display
72
- const height = unadjustedHeight - offset * 2
73
-
74
- const filled = readConfObject(config, 'filled')
75
- const clipColor = readConfObject(config, 'clipColor')
76
- const summaryScoreMode = readConfObject(config, 'summaryScoreMode')
77
- const pivotValue = readConfObject(config, 'bicolorPivotValue')
78
- const minSize = readConfObject(config, 'minSize')
79
-
80
- const scale = getScale({ ...scaleOpts, range: [0, height] })
81
- const originY = getOrigin(scaleOpts.scaleType)
82
- const [niceMin, niceMax] = scale.domain()
83
-
84
- const toY = (n: number) => clamp(height - (scale(n) || 0), 0, height) + offset
85
- const toOrigin = (n: number) => toY(originY) - toY(n)
86
- const getHeight = (n: number) => (filled ? toOrigin(n) : Math.max(minSize, 1))
87
- let hasClipping = false
88
-
89
- let prevLeftPx = -Infinity
90
- const reducedFeatures = []
91
- const crossingOrigin = niceMin < pivotValue && niceMax > pivotValue
92
-
93
- // we handle whiskers separately to render max row, min row, and avg in three
94
- // passes. this reduces subpixel rendering issues. note: for stylistic
95
- // reasons, clipping indicator is only drawn for score, not min/max score
96
- if (summaryScoreMode === 'whiskers') {
97
- let lastCol
98
- let lastMix
99
- for (const feature of features.values()) {
100
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
101
- if (feature.get('summary')) {
102
- const w = Math.max(rightPx - leftPx + fudgeFactor, minSize)
103
- const max = feature.get('maxScore')
104
- const c = colorCallback(feature, max)
105
- const effectiveC = crossingOrigin
106
- ? c
107
- : c === lastCol
108
- ? lastMix
109
- : (lastMix = Color(c).lighten(0.4).toString())
110
- fillRectCtx(leftPx, toY(max), w, getHeight(max), ctx, effectiveC)
111
- lastCol = c
112
- }
113
- }
114
- lastMix = undefined
115
- lastCol = undefined
116
- for (const feature of features.values()) {
117
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
118
- const score = feature.get('score')
119
- const max = feature.get('maxScore')
120
- const min = feature.get('minScore')
121
- const summary = feature.get('summary')
122
- const c = colorCallback(feature, score)
123
- const effectiveC =
124
- crossingOrigin && summary
125
- ? c === lastCol
126
- ? lastMix
127
- : (lastMix = Color(colorCallback(feature, max))
128
- .mix(Color(colorCallback(feature, min)))
129
- .toString())
130
- : c
131
- const w = Math.max(rightPx - leftPx + fudgeFactor, minSize)
132
- // create reduced features, avoiding multiple features per px
133
- if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
134
- reducedFeatures.push(feature)
135
- prevLeftPx = leftPx
136
- }
137
- hasClipping = hasClipping || score < niceMin || score > niceMax
138
- fillRectCtx(leftPx, toY(score), w, getHeight(score), ctx, effectiveC)
139
- lastCol = c
140
- }
141
- lastMix = undefined
142
- lastCol = undefined
143
- for (const feature of features.values()) {
144
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
145
-
146
- if (feature.get('summary')) {
147
- const min = feature.get('minScore')
148
- const c = colorCallback(feature, min)
149
- const w = Math.max(rightPx - leftPx + fudgeFactor, minSize)
150
- const effectiveC = crossingOrigin
151
- ? c
152
- : c === lastCol
153
- ? lastMix
154
- : (lastMix = Color(c).darken(0.4).toString())
155
-
156
- fillRectCtx(leftPx, toY(min), w, getHeight(min), ctx, effectiveC)
157
- lastCol = c
158
- }
159
- }
160
- } else {
161
- for (const feature of features.values()) {
162
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
163
-
164
- // create reduced features, avoiding multiple features per px
165
- if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
166
- reducedFeatures.push(feature)
167
- prevLeftPx = leftPx
168
- }
169
-
170
- const score = feature.get('score')
171
- const c = colorCallback(feature, score)
172
-
173
- hasClipping = hasClipping || score < niceMin || score > niceMax
174
- const w = Math.max(rightPx - leftPx + fudgeFactor, minSize)
175
-
176
- if (summaryScoreMode === 'max') {
177
- const s = feature.get('summary') ? feature.get('maxScore') : score
178
- fillRectCtx(leftPx, toY(s), w, getHeight(s), ctx, c)
179
- } else if (summaryScoreMode === 'min') {
180
- const s = feature.get('summary') ? feature.get('minScore') : score
181
- fillRectCtx(leftPx, toY(s), w, getHeight(s), ctx, c)
182
- } else {
183
- fillRectCtx(leftPx, toY(score), w, getHeight(score), ctx, c)
184
- }
185
- }
186
- }
187
-
188
- // second pass: draw clipping
189
- // avoid persisting the red fillstyle with save/restore
190
- ctx.save()
191
- if (hasClipping) {
192
- ctx.fillStyle = clipColor
193
- for (const feature of features.values()) {
194
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
195
- const w = rightPx - leftPx + fudgeFactor
196
- const score = feature.get('score')
197
- if (score > niceMax) {
198
- fillRectCtx(leftPx, offset, w, clipHeight, ctx)
199
- } else if (score < niceMin && scaleOpts.scaleType !== 'log') {
200
- fillRectCtx(leftPx, unadjustedHeight, w, clipHeight, ctx)
201
- }
202
- }
203
- }
204
- ctx.restore()
205
-
206
- if (displayCrossHatches) {
207
- ctx.lineWidth = 1
208
- ctx.strokeStyle = 'rgba(200,200,200,0.5)'
209
- ticks.values.forEach(tick => {
210
- ctx.beginPath()
211
- ctx.moveTo(0, Math.round(toY(tick)))
212
- ctx.lineTo(width, Math.round(toY(tick)))
213
- ctx.stroke()
214
- })
215
- }
216
-
217
- return { reducedFeatures }
218
- }
219
-
220
- export function drawLine(
221
- ctx: CanvasRenderingContext2D,
222
- props: {
223
- features: Map<string, Feature> | Feature[]
224
- regions: Region[]
225
- bpPerPx: number
226
- scaleOpts: ScaleOpts
227
- height: number
228
- ticks: { values: number[] }
229
- displayCrossHatches: boolean
230
- colorCallback: (f: Feature, score: number) => string
231
- config: AnyConfigurationModel
232
- offset?: number
233
- },
234
- ) {
235
- const {
236
- features,
237
- regions,
238
- bpPerPx,
239
- scaleOpts,
240
- height: unadjustedHeight,
241
- ticks: { values },
242
- displayCrossHatches,
243
- colorCallback,
244
- config,
245
- offset = 0,
246
- } = props
247
- const [region] = regions
248
- const width = (region.end - region.start) / bpPerPx
249
-
250
- // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
251
- // wiggle display, and makes the height of the actual drawn area add
252
- // "padding" to the top and bottom of the display
253
- const height = unadjustedHeight - offset * 2
254
- const clipColor = readConfObject(config, 'clipColor')
255
- const scale = getScale({ ...scaleOpts, range: [0, height] })
256
- const [niceMin, niceMax] = scale.domain()
257
- const toY = (n: number) => clamp(height - (scale(n) || 0), 0, height) + offset
258
-
259
- let lastVal
260
-
261
- let prevLeftPx = -Infinity
262
- const reducedFeatures = []
263
- for (const feature of features.values()) {
264
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
265
-
266
- // create reduced features, avoiding multiple features per px
267
- if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
268
- reducedFeatures.push(feature)
269
- prevLeftPx = leftPx
270
- }
271
- const score = feature.get('score')
272
- const lowClipping = score < niceMin
273
- const highClipping = score > niceMax
274
- const w = rightPx - leftPx + fudgeFactor
275
-
276
- const c = colorCallback(feature, score)
277
-
278
- ctx.beginPath()
279
- ctx.strokeStyle = c
280
- const startPos = lastVal !== undefined ? lastVal : score
281
- if (!region.reversed) {
282
- ctx.moveTo(leftPx, toY(startPos))
283
- ctx.lineTo(leftPx, toY(score))
284
- ctx.lineTo(rightPx, toY(score))
285
- } else {
286
- ctx.moveTo(rightPx, toY(startPos))
287
- ctx.lineTo(rightPx, toY(score))
288
- ctx.lineTo(leftPx, toY(score))
289
- }
290
- ctx.stroke()
291
- lastVal = score
292
-
293
- if (highClipping) {
294
- ctx.fillStyle = clipColor
295
- ctx.fillRect(leftPx, offset, w, clipHeight)
296
- } else if (lowClipping && scaleOpts.scaleType !== 'log') {
297
- ctx.fillStyle = clipColor
298
- ctx.fillRect(leftPx, height - clipHeight, w, height)
299
- }
300
- }
301
-
302
- if (displayCrossHatches) {
303
- ctx.lineWidth = 1
304
- ctx.strokeStyle = 'rgba(200,200,200,0.5)'
305
- values.forEach(tick => {
306
- ctx.beginPath()
307
- ctx.moveTo(0, Math.round(toY(tick)))
308
- ctx.lineTo(width, Math.round(toY(tick)))
309
- ctx.stroke()
310
- })
311
- }
312
- return { reducedFeatures }
313
- }
314
-
315
- export function drawDensity(
316
- ctx: CanvasRenderingContext2D,
317
- props: {
318
- features: Map<string, Feature> | Feature[]
319
- regions: Region[]
320
- bpPerPx: number
321
- scaleOpts: ScaleOpts
322
- height: number
323
- ticks: { values: number[] }
324
- displayCrossHatches: boolean
325
- config: AnyConfigurationModel
326
- },
327
- ) {
328
- const { features, regions, bpPerPx, scaleOpts, height, config } = props
329
- const [region] = regions
330
- const pivot = readConfObject(config, 'bicolorPivot')
331
- const pivotValue = readConfObject(config, 'bicolorPivotValue')
332
- const negColor = readConfObject(config, 'negColor')
333
- const posColor = readConfObject(config, 'posColor')
334
- const color = readConfObject(config, 'color')
335
- const clipColor = readConfObject(config, 'clipColor')
336
- const crossing = pivot !== 'none' && scaleOpts.scaleType !== 'log'
337
- const scale = getScale({
338
- ...scaleOpts,
339
- pivotValue: crossing ? pivotValue : undefined,
340
- range: crossing ? [negColor, 'white', posColor] : ['white', posColor],
341
- })
342
-
343
- const scale2 = getScale({ ...scaleOpts, range: [0, height] })
344
- const cb =
345
- color === '#f0f'
346
- ? (_: Feature, score: number) => scale(score)
347
- : (feature: Feature, score: number) =>
348
- readConfObject(config, 'color', { feature, score })
349
- const [niceMin, niceMax] = scale2.domain()
350
-
351
- let prevLeftPx = -Infinity
352
- let hasClipping = false
353
- const reducedFeatures = []
354
- for (const feature of features.values()) {
355
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
356
-
357
- // create reduced features, avoiding multiple features per px
358
- if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
359
- reducedFeatures.push(feature)
360
- prevLeftPx = leftPx
361
- }
362
- const score = feature.get('score')
363
- hasClipping = hasClipping || score > niceMax || score < niceMin
364
- const w = rightPx - leftPx + fudgeFactor
365
- ctx.fillStyle = cb(feature, score)
366
- ctx.fillRect(leftPx, 0, w, height)
367
- }
368
-
369
- // second pass: draw clipping
370
- // avoid persisting the red fillstyle with save/restore
371
- ctx.save()
372
- if (hasClipping) {
373
- ctx.fillStyle = clipColor
374
- for (const feature of features.values()) {
375
- const [leftPx, rightPx] = featureSpanPx(feature, region, bpPerPx)
376
- const w = rightPx - leftPx + fudgeFactor
377
- const score = feature.get('score')
378
- if (score > niceMax) {
379
- fillRectCtx(leftPx, 0, w, clipHeight, ctx)
380
- } else if (score < niceMin && scaleOpts.scaleType !== 'log') {
381
- fillRectCtx(leftPx, 0, w, clipHeight, ctx)
382
- }
383
- }
384
- }
385
- ctx.restore()
386
-
387
- return { reducedFeatures }
388
- }
package/src/index.test.ts DELETED
@@ -1,16 +0,0 @@
1
- import PluginManager from '@jbrowse/core/PluginManager'
2
- import { getSnapshot } from 'mobx-state-tree'
3
- import ThisPlugin from '.'
4
-
5
- test('plugin in a stock JBrowse', () => {
6
- const pluginManager = new PluginManager([new ThisPlugin()])
7
- pluginManager.createPluggableElements()
8
- pluginManager.configure()
9
- expect(() => pluginManager.addPlugin(new ThisPlugin())).toThrow(
10
- /JBrowse already configured, cannot add plugins/,
11
- )
12
-
13
- const BigWigAdapter = pluginManager.getAdapterType('BigWigAdapter')
14
- const config = BigWigAdapter.configSchema.create({ type: 'BigWigAdapter' })
15
- expect(getSnapshot(config)).toMatchSnapshot()
16
- })