@jbrowse/plugin-alignments 2.4.2 → 2.6.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 (443) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -2
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.d.ts +2 -2
  3. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +2 -1
  4. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +1 -1
  5. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.d.ts +2 -2
  6. package/dist/AlignmentsFeatureDetail/index.d.ts +4 -1
  7. package/dist/AlignmentsTrack/configSchemaF.d.ts +74 -0
  8. package/dist/AlignmentsTrack/configSchemaF.js +19 -0
  9. package/dist/AlignmentsTrack/configSchemaF.js.map +1 -0
  10. package/dist/AlignmentsTrack/index.js +2 -15
  11. package/dist/AlignmentsTrack/index.js.map +1 -1
  12. package/dist/BamAdapter/BamAdapter.d.ts +2 -2
  13. package/dist/BamAdapter/BamAdapter.js +27 -32
  14. package/dist/BamAdapter/BamAdapter.js.map +1 -1
  15. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +1 -1
  16. package/dist/BamAdapter/configSchema.d.ts +50 -1
  17. package/dist/CramAdapter/CramAdapter.d.ts +1 -1
  18. package/dist/CramAdapter/CramAdapter.js +49 -47
  19. package/dist/CramAdapter/CramAdapter.js.map +1 -1
  20. package/dist/CramAdapter/CramSlightlyLazyFeature.js +3 -5
  21. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  22. package/dist/CramAdapter/CramTestAdapters.js +3 -3
  23. package/dist/CramAdapter/CramTestAdapters.js.map +1 -1
  24. package/dist/CramAdapter/configSchema.d.ts +40 -1
  25. package/dist/HtsgetBamAdapter/configSchema.d.ts +26 -1
  26. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -2
  27. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +39 -1
  28. package/dist/LinearAlignmentsDisplay/models/model.d.ts +20 -6
  29. package/dist/LinearAlignmentsDisplay/models/model.js +9 -4
  30. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
  31. package/dist/LinearPileupDisplay/components/ColorByModifications.d.ts +2 -2
  32. package/dist/LinearPileupDisplay/components/ColorByModifications.js +3 -23
  33. package/dist/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  34. package/dist/LinearPileupDisplay/components/ColorByTag.d.ts +2 -2
  35. package/dist/LinearPileupDisplay/components/ColorByTag.js +2 -6
  36. package/dist/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  37. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -3
  38. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +6 -6
  39. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -1
  40. package/dist/LinearPileupDisplay/components/ModificationsTable.d.ts +4 -0
  41. package/dist/LinearPileupDisplay/components/ModificationsTable.js +29 -0
  42. package/dist/LinearPileupDisplay/components/ModificationsTable.js.map +1 -0
  43. package/dist/LinearPileupDisplay/components/SetFeatureHeight.d.ts +2 -2
  44. package/dist/LinearPileupDisplay/components/SetMaxHeight.d.ts +2 -2
  45. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +3 -5
  46. package/dist/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  47. package/dist/LinearPileupDisplay/components/SortByTag.d.ts +2 -2
  48. package/dist/LinearPileupDisplay/configSchema.d.ts +57 -1
  49. package/dist/LinearPileupDisplay/model.d.ts +160 -80
  50. package/dist/LinearPileupDisplay/model.js +181 -138
  51. package/dist/LinearPileupDisplay/model.js.map +1 -1
  52. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -2
  53. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +36 -39
  54. package/dist/LinearReadArcsDisplay/components/ReactComponent.js.map +1 -1
  55. package/dist/LinearReadArcsDisplay/configSchema.d.ts +59 -1
  56. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +2 -15
  57. package/dist/LinearReadArcsDisplay/drawFeats.js +58 -66
  58. package/dist/LinearReadArcsDisplay/drawFeats.js.map +1 -1
  59. package/dist/LinearReadArcsDisplay/model.d.ts +58 -193
  60. package/dist/LinearReadArcsDisplay/model.js +65 -115
  61. package/dist/LinearReadArcsDisplay/model.js.map +1 -1
  62. package/dist/LinearReadArcsDisplay/util.d.ts +2 -0
  63. package/dist/LinearReadArcsDisplay/util.js +13 -0
  64. package/dist/LinearReadArcsDisplay/util.js.map +1 -0
  65. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -2
  66. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +34 -36
  67. package/dist/LinearReadCloudDisplay/components/ReactComponent.js.map +1 -1
  68. package/dist/LinearReadCloudDisplay/configSchema.d.ts +52 -1
  69. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +2 -10
  70. package/dist/LinearReadCloudDisplay/drawFeats.js +11 -127
  71. package/dist/LinearReadCloudDisplay/drawFeats.js.map +1 -1
  72. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +11 -0
  73. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +69 -0
  74. package/dist/LinearReadCloudDisplay/drawLongReadChains.js.map +1 -0
  75. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +17 -0
  76. package/dist/LinearReadCloudDisplay/drawPairChains.js +100 -0
  77. package/dist/LinearReadCloudDisplay/drawPairChains.js.map +1 -0
  78. package/dist/LinearReadCloudDisplay/model.d.ts +65 -196
  79. package/dist/LinearReadCloudDisplay/model.js +55 -92
  80. package/dist/LinearReadCloudDisplay/model.js.map +1 -1
  81. package/dist/LinearReadCloudDisplay/util.d.ts +2 -0
  82. package/dist/LinearReadCloudDisplay/util.js +35 -0
  83. package/dist/LinearReadCloudDisplay/util.js.map +1 -0
  84. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -2
  85. package/dist/LinearSNPCoverageDisplay/models/configSchema.d.ts +79 -1
  86. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +157 -70
  87. package/dist/LinearSNPCoverageDisplay/models/model.js +46 -33
  88. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  89. package/dist/MismatchParser/index.d.ts +7 -2
  90. package/dist/MismatchParser/index.js +44 -5
  91. package/dist/MismatchParser/index.js.map +1 -1
  92. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +15 -2
  93. package/dist/PileupRPC/methods/GetReducedFeatures.js +1 -8
  94. package/dist/PileupRPC/methods/GetReducedFeatures.js.map +1 -1
  95. package/dist/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  96. package/dist/PileupRenderer/PileupRenderer.d.ts +4 -117
  97. package/dist/PileupRenderer/PileupRenderer.js +18 -752
  98. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  99. package/dist/PileupRenderer/colorBy.d.ts +7 -0
  100. package/dist/PileupRenderer/colorBy.js +69 -0
  101. package/dist/PileupRenderer/colorBy.js.map +1 -0
  102. package/dist/PileupRenderer/components/PileupRendering.d.ts +7 -2
  103. package/dist/PileupRenderer/components/PileupRendering.js +17 -18
  104. package/dist/PileupRenderer/components/PileupRendering.js.map +1 -1
  105. package/dist/PileupRenderer/configSchema.d.ts +87 -1
  106. package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +10 -0
  107. package/dist/PileupRenderer/getAlignmentShapeColor.js +60 -0
  108. package/dist/PileupRenderer/getAlignmentShapeColor.js.map +1 -0
  109. package/dist/PileupRenderer/index.js +1 -1
  110. package/dist/PileupRenderer/index.js.map +1 -1
  111. package/dist/PileupRenderer/layoutFeature.d.ts +18 -0
  112. package/dist/PileupRenderer/layoutFeature.js +41 -0
  113. package/dist/PileupRenderer/layoutFeature.js.map +1 -0
  114. package/dist/PileupRenderer/layoutFeatures.d.ts +2 -0
  115. package/dist/PileupRenderer/layoutFeatures.js +35 -0
  116. package/dist/PileupRenderer/layoutFeatures.js.map +1 -0
  117. package/dist/PileupRenderer/makeImageData.d.ts +17 -0
  118. package/dist/PileupRenderer/makeImageData.js +64 -0
  119. package/dist/PileupRenderer/makeImageData.js.map +1 -0
  120. package/dist/PileupRenderer/renderAlignment.d.ts +13 -0
  121. package/dist/PileupRenderer/renderAlignment.js +72 -0
  122. package/dist/PileupRenderer/renderAlignment.js.map +1 -0
  123. package/dist/PileupRenderer/renderAlignmentShape.d.ts +7 -0
  124. package/dist/PileupRenderer/renderAlignmentShape.js +41 -0
  125. package/dist/PileupRenderer/renderAlignmentShape.js.map +1 -0
  126. package/dist/PileupRenderer/renderMethylation.d.ts +11 -0
  127. package/dist/PileupRenderer/renderMethylation.js +63 -0
  128. package/dist/PileupRenderer/renderMethylation.js.map +1 -0
  129. package/dist/PileupRenderer/renderMismatches.d.ts +21 -0
  130. package/dist/PileupRenderer/renderMismatches.js +135 -0
  131. package/dist/PileupRenderer/renderMismatches.js.map +1 -0
  132. package/dist/PileupRenderer/renderModifications.d.ts +11 -0
  133. package/dist/PileupRenderer/renderModifications.js +54 -0
  134. package/dist/PileupRenderer/renderModifications.js.map +1 -0
  135. package/dist/PileupRenderer/renderPerBaseLettering.d.ts +13 -0
  136. package/dist/PileupRenderer/renderPerBaseLettering.js +47 -0
  137. package/dist/PileupRenderer/renderPerBaseLettering.js.map +1 -0
  138. package/dist/PileupRenderer/renderPerBaseQuality.d.ts +9 -0
  139. package/dist/PileupRenderer/renderPerBaseQuality.js +39 -0
  140. package/dist/PileupRenderer/renderPerBaseQuality.js.map +1 -0
  141. package/dist/PileupRenderer/renderSoftClipping.d.ts +13 -0
  142. package/dist/PileupRenderer/renderSoftClipping.js +48 -0
  143. package/dist/PileupRenderer/renderSoftClipping.js.map +1 -0
  144. package/dist/PileupRenderer/sortUtil.js +1 -2
  145. package/dist/PileupRenderer/sortUtil.js.map +1 -1
  146. package/dist/PileupRenderer/util.d.ts +24 -0
  147. package/dist/PileupRenderer/util.js +51 -0
  148. package/dist/PileupRenderer/util.js.map +1 -0
  149. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +1 -3
  150. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +2 -5
  151. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  152. package/dist/SNPCoverageAdapter/configSchema.d.ts +10 -1
  153. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +3 -43
  154. package/dist/SNPCoverageAdapter/generateCoverageBins.js +86 -59
  155. package/dist/SNPCoverageAdapter/generateCoverageBins.js.map +1 -1
  156. package/dist/SNPCoverageAdapter/index.js +0 -2
  157. package/dist/SNPCoverageAdapter/index.js.map +1 -1
  158. package/dist/SNPCoverageAdapter/util.d.ts +29 -0
  159. package/dist/SNPCoverageAdapter/util.js +3 -0
  160. package/dist/SNPCoverageAdapter/util.js.map +1 -0
  161. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -1
  162. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +2 -2
  163. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
  164. package/dist/SNPCoverageRenderer/configSchema.d.ts +47 -1
  165. package/dist/SNPCoverageRenderer/configSchema.js +5 -0
  166. package/dist/SNPCoverageRenderer/configSchema.js.map +1 -1
  167. package/dist/shared/BaseDisplayComponent.d.ts +8 -0
  168. package/dist/shared/BaseDisplayComponent.js +49 -0
  169. package/dist/shared/BaseDisplayComponent.js.map +1 -0
  170. package/dist/shared/FilterByTag.d.ts +13 -12
  171. package/dist/shared/FilterByTag.js +8 -13
  172. package/dist/shared/FilterByTag.js.map +1 -1
  173. package/dist/shared/afterAttach.d.ts +2 -0
  174. package/dist/shared/afterAttach.js +44 -0
  175. package/dist/shared/afterAttach.js.map +1 -0
  176. package/dist/shared/color.d.ts +44 -6
  177. package/dist/shared/color.js +57 -23
  178. package/dist/shared/color.js.map +1 -1
  179. package/dist/shared/fetchChains.d.ts +3 -2
  180. package/dist/shared/fetchChains.js +14 -20
  181. package/dist/shared/fetchChains.js.map +1 -1
  182. package/dist/shared/renderSvg.d.ts +7 -0
  183. package/dist/shared/renderSvg.js +69 -0
  184. package/dist/shared/renderSvg.js.map +1 -0
  185. package/dist/shared/util.d.ts +2 -0
  186. package/dist/shared/util.js +13 -0
  187. package/dist/shared/util.js.map +1 -0
  188. package/dist/util.d.ts +16 -2
  189. package/dist/util.js +45 -4
  190. package/dist/util.js.map +1 -1
  191. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -2
  192. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.d.ts +2 -2
  193. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +3 -2
  194. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +1 -1
  195. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.d.ts +2 -2
  196. package/esm/AlignmentsFeatureDetail/index.d.ts +4 -1
  197. package/esm/AlignmentsTrack/configSchemaF.d.ts +74 -0
  198. package/esm/AlignmentsTrack/configSchemaF.js +16 -0
  199. package/esm/AlignmentsTrack/configSchemaF.js.map +1 -0
  200. package/esm/AlignmentsTrack/index.js +3 -16
  201. package/esm/AlignmentsTrack/index.js.map +1 -1
  202. package/esm/BamAdapter/BamAdapter.d.ts +2 -2
  203. package/esm/BamAdapter/BamAdapter.js +27 -32
  204. package/esm/BamAdapter/BamAdapter.js.map +1 -1
  205. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +1 -1
  206. package/esm/BamAdapter/configSchema.d.ts +50 -1
  207. package/esm/CramAdapter/CramAdapter.d.ts +1 -1
  208. package/esm/CramAdapter/CramAdapter.js +50 -48
  209. package/esm/CramAdapter/CramAdapter.js.map +1 -1
  210. package/esm/CramAdapter/CramSlightlyLazyFeature.js +3 -5
  211. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  212. package/esm/CramAdapter/CramTestAdapters.js +2 -2
  213. package/esm/CramAdapter/CramTestAdapters.js.map +1 -1
  214. package/esm/CramAdapter/configSchema.d.ts +40 -1
  215. package/esm/HtsgetBamAdapter/configSchema.d.ts +26 -1
  216. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -2
  217. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +39 -1
  218. package/esm/LinearAlignmentsDisplay/models/model.d.ts +20 -6
  219. package/esm/LinearAlignmentsDisplay/models/model.js +9 -4
  220. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
  221. package/esm/LinearPileupDisplay/components/ColorByModifications.d.ts +2 -2
  222. package/esm/LinearPileupDisplay/components/ColorByModifications.js +2 -22
  223. package/esm/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  224. package/esm/LinearPileupDisplay/components/ColorByTag.d.ts +2 -2
  225. package/esm/LinearPileupDisplay/components/ColorByTag.js +2 -6
  226. package/esm/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  227. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -3
  228. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +6 -6
  229. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -1
  230. package/esm/LinearPileupDisplay/components/ModificationsTable.d.ts +4 -0
  231. package/esm/LinearPileupDisplay/components/ModificationsTable.js +23 -0
  232. package/esm/LinearPileupDisplay/components/ModificationsTable.js.map +1 -0
  233. package/esm/LinearPileupDisplay/components/SetFeatureHeight.d.ts +2 -2
  234. package/esm/LinearPileupDisplay/components/SetMaxHeight.d.ts +2 -2
  235. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +3 -5
  236. package/esm/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  237. package/esm/LinearPileupDisplay/components/SortByTag.d.ts +2 -2
  238. package/esm/LinearPileupDisplay/configSchema.d.ts +57 -1
  239. package/esm/LinearPileupDisplay/model.d.ts +160 -80
  240. package/esm/LinearPileupDisplay/model.js +182 -139
  241. package/esm/LinearPileupDisplay/model.js.map +1 -1
  242. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -2
  243. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +13 -39
  244. package/esm/LinearReadArcsDisplay/components/ReactComponent.js.map +1 -1
  245. package/esm/LinearReadArcsDisplay/configSchema.d.ts +59 -1
  246. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +2 -15
  247. package/esm/LinearReadArcsDisplay/drawFeats.js +56 -63
  248. package/esm/LinearReadArcsDisplay/drawFeats.js.map +1 -1
  249. package/esm/LinearReadArcsDisplay/model.d.ts +58 -193
  250. package/esm/LinearReadArcsDisplay/model.js +69 -119
  251. package/esm/LinearReadArcsDisplay/model.js.map +1 -1
  252. package/esm/LinearReadArcsDisplay/util.d.ts +2 -0
  253. package/esm/LinearReadArcsDisplay/util.js +9 -0
  254. package/esm/LinearReadArcsDisplay/util.js.map +1 -0
  255. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -2
  256. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +11 -36
  257. package/esm/LinearReadCloudDisplay/components/ReactComponent.js.map +1 -1
  258. package/esm/LinearReadCloudDisplay/configSchema.d.ts +52 -1
  259. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +2 -10
  260. package/esm/LinearReadCloudDisplay/drawFeats.js +9 -126
  261. package/esm/LinearReadCloudDisplay/drawFeats.js.map +1 -1
  262. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +11 -0
  263. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +65 -0
  264. package/esm/LinearReadCloudDisplay/drawLongReadChains.js.map +1 -0
  265. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +17 -0
  266. package/esm/LinearReadCloudDisplay/drawPairChains.js +95 -0
  267. package/esm/LinearReadCloudDisplay/drawPairChains.js.map +1 -0
  268. package/esm/LinearReadCloudDisplay/model.d.ts +65 -196
  269. package/esm/LinearReadCloudDisplay/model.js +59 -96
  270. package/esm/LinearReadCloudDisplay/model.js.map +1 -1
  271. package/esm/LinearReadCloudDisplay/util.d.ts +2 -0
  272. package/esm/LinearReadCloudDisplay/util.js +30 -0
  273. package/esm/LinearReadCloudDisplay/util.js.map +1 -0
  274. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -2
  275. package/esm/LinearSNPCoverageDisplay/models/configSchema.d.ts +79 -1
  276. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +157 -70
  277. package/esm/LinearSNPCoverageDisplay/models/model.js +48 -35
  278. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  279. package/esm/MismatchParser/index.d.ts +7 -2
  280. package/esm/MismatchParser/index.js +41 -4
  281. package/esm/MismatchParser/index.js.map +1 -1
  282. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +15 -2
  283. package/esm/PileupRPC/methods/GetReducedFeatures.js +2 -9
  284. package/esm/PileupRPC/methods/GetReducedFeatures.js.map +1 -1
  285. package/esm/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  286. package/esm/PileupRenderer/PileupRenderer.d.ts +4 -117
  287. package/esm/PileupRenderer/PileupRenderer.js +20 -754
  288. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  289. package/esm/PileupRenderer/colorBy.d.ts +7 -0
  290. package/esm/PileupRenderer/colorBy.js +61 -0
  291. package/esm/PileupRenderer/colorBy.js.map +1 -0
  292. package/esm/PileupRenderer/components/PileupRendering.d.ts +7 -2
  293. package/esm/PileupRenderer/components/PileupRendering.js +17 -18
  294. package/esm/PileupRenderer/components/PileupRendering.js.map +1 -1
  295. package/esm/PileupRenderer/configSchema.d.ts +87 -1
  296. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +10 -0
  297. package/esm/PileupRenderer/getAlignmentShapeColor.js +56 -0
  298. package/esm/PileupRenderer/getAlignmentShapeColor.js.map +1 -0
  299. package/esm/PileupRenderer/index.js +1 -1
  300. package/esm/PileupRenderer/index.js.map +1 -1
  301. package/esm/PileupRenderer/layoutFeature.d.ts +18 -0
  302. package/esm/PileupRenderer/layoutFeature.js +37 -0
  303. package/esm/PileupRenderer/layoutFeature.js.map +1 -0
  304. package/esm/PileupRenderer/layoutFeatures.d.ts +2 -0
  305. package/esm/PileupRenderer/layoutFeatures.js +31 -0
  306. package/esm/PileupRenderer/layoutFeatures.js.map +1 -0
  307. package/esm/PileupRenderer/makeImageData.d.ts +17 -0
  308. package/esm/PileupRenderer/makeImageData.js +60 -0
  309. package/esm/PileupRenderer/makeImageData.js.map +1 -0
  310. package/esm/PileupRenderer/renderAlignment.d.ts +13 -0
  311. package/esm/PileupRenderer/renderAlignment.js +68 -0
  312. package/esm/PileupRenderer/renderAlignment.js.map +1 -0
  313. package/esm/PileupRenderer/renderAlignmentShape.d.ts +7 -0
  314. package/esm/PileupRenderer/renderAlignmentShape.js +37 -0
  315. package/esm/PileupRenderer/renderAlignmentShape.js.map +1 -0
  316. package/esm/PileupRenderer/renderMethylation.d.ts +11 -0
  317. package/esm/PileupRenderer/renderMethylation.js +59 -0
  318. package/esm/PileupRenderer/renderMethylation.js.map +1 -0
  319. package/esm/PileupRenderer/renderMismatches.d.ts +21 -0
  320. package/esm/PileupRenderer/renderMismatches.js +131 -0
  321. package/esm/PileupRenderer/renderMismatches.js.map +1 -0
  322. package/esm/PileupRenderer/renderModifications.d.ts +11 -0
  323. package/esm/PileupRenderer/renderModifications.js +50 -0
  324. package/esm/PileupRenderer/renderModifications.js.map +1 -0
  325. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +13 -0
  326. package/esm/PileupRenderer/renderPerBaseLettering.js +43 -0
  327. package/esm/PileupRenderer/renderPerBaseLettering.js.map +1 -0
  328. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +9 -0
  329. package/esm/PileupRenderer/renderPerBaseQuality.js +35 -0
  330. package/esm/PileupRenderer/renderPerBaseQuality.js.map +1 -0
  331. package/esm/PileupRenderer/renderSoftClipping.d.ts +13 -0
  332. package/esm/PileupRenderer/renderSoftClipping.js +44 -0
  333. package/esm/PileupRenderer/renderSoftClipping.js.map +1 -0
  334. package/esm/PileupRenderer/sortUtil.js +1 -2
  335. package/esm/PileupRenderer/sortUtil.js.map +1 -1
  336. package/esm/PileupRenderer/util.d.ts +24 -0
  337. package/esm/PileupRenderer/util.js +42 -0
  338. package/esm/PileupRenderer/util.js.map +1 -0
  339. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +1 -3
  340. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +2 -4
  341. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  342. package/esm/SNPCoverageAdapter/configSchema.d.ts +10 -1
  343. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +3 -43
  344. package/esm/SNPCoverageAdapter/generateCoverageBins.js +87 -60
  345. package/esm/SNPCoverageAdapter/generateCoverageBins.js.map +1 -1
  346. package/esm/SNPCoverageAdapter/index.js +0 -2
  347. package/esm/SNPCoverageAdapter/index.js.map +1 -1
  348. package/esm/SNPCoverageAdapter/util.d.ts +29 -0
  349. package/esm/SNPCoverageAdapter/util.js +2 -0
  350. package/esm/SNPCoverageAdapter/util.js.map +1 -0
  351. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -1
  352. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +2 -2
  353. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
  354. package/esm/SNPCoverageRenderer/configSchema.d.ts +47 -1
  355. package/esm/SNPCoverageRenderer/configSchema.js +5 -0
  356. package/esm/SNPCoverageRenderer/configSchema.js.map +1 -1
  357. package/esm/shared/BaseDisplayComponent.d.ts +8 -0
  358. package/esm/shared/BaseDisplayComponent.js +44 -0
  359. package/esm/shared/BaseDisplayComponent.js.map +1 -0
  360. package/esm/shared/FilterByTag.d.ts +13 -12
  361. package/esm/shared/FilterByTag.js +8 -13
  362. package/esm/shared/FilterByTag.js.map +1 -1
  363. package/esm/shared/afterAttach.d.ts +2 -0
  364. package/esm/shared/afterAttach.js +40 -0
  365. package/esm/shared/afterAttach.js.map +1 -0
  366. package/esm/shared/color.d.ts +44 -6
  367. package/esm/shared/color.js +54 -20
  368. package/esm/shared/color.js.map +1 -1
  369. package/esm/shared/fetchChains.d.ts +3 -2
  370. package/esm/shared/fetchChains.js +14 -20
  371. package/esm/shared/fetchChains.js.map +1 -1
  372. package/esm/shared/renderSvg.d.ts +7 -0
  373. package/esm/shared/renderSvg.js +39 -0
  374. package/esm/shared/renderSvg.js.map +1 -0
  375. package/esm/shared/util.d.ts +2 -0
  376. package/esm/shared/util.js +9 -0
  377. package/esm/shared/util.js.map +1 -0
  378. package/esm/util.d.ts +16 -2
  379. package/esm/util.js +42 -3
  380. package/esm/util.js.map +1 -1
  381. package/package.json +3 -3
  382. package/src/AlignmentsFeatureDetail/AlignmentsFeatureFlags.tsx +3 -5
  383. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.tsx.snap +1 -2
  384. package/src/AlignmentsTrack/configSchemaF.ts +22 -0
  385. package/src/AlignmentsTrack/index.ts +3 -24
  386. package/src/BamAdapter/BamAdapter.ts +46 -44
  387. package/src/CombinationTest.test.ts +2 -2
  388. package/src/CramAdapter/CramAdapter.ts +70 -56
  389. package/src/CramAdapter/CramSlightlyLazyFeature.ts +2 -5
  390. package/src/CramAdapter/CramTestAdapters.ts +2 -2
  391. package/src/LinearAlignmentsDisplay/models/model.tsx +16 -4
  392. package/src/LinearPileupDisplay/components/ColorByModifications.tsx +3 -39
  393. package/src/LinearPileupDisplay/components/ColorByTag.tsx +1 -6
  394. package/src/LinearPileupDisplay/components/LinearPileupDisplayBlurb.tsx +10 -11
  395. package/src/LinearPileupDisplay/components/ModificationsTable.tsx +38 -0
  396. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +3 -5
  397. package/src/LinearPileupDisplay/model.ts +235 -186
  398. package/src/LinearReadArcsDisplay/components/ReactComponent.tsx +23 -61
  399. package/src/LinearReadArcsDisplay/drawFeats.ts +79 -87
  400. package/src/LinearReadArcsDisplay/model.tsx +77 -155
  401. package/src/LinearReadArcsDisplay/util.ts +10 -0
  402. package/src/LinearReadCloudDisplay/components/ReactComponent.tsx +21 -59
  403. package/src/LinearReadCloudDisplay/drawFeats.ts +12 -166
  404. package/src/LinearReadCloudDisplay/drawLongReadChains.ts +85 -0
  405. package/src/LinearReadCloudDisplay/drawPairChains.ts +139 -0
  406. package/src/LinearReadCloudDisplay/model.tsx +72 -131
  407. package/src/LinearReadCloudDisplay/util.ts +47 -0
  408. package/src/LinearSNPCoverageDisplay/models/model.ts +63 -50
  409. package/src/MismatchParser/index.ts +46 -4
  410. package/src/PileupRPC/methods/GetReducedFeatures.ts +2 -10
  411. package/src/PileupRenderer/PileupLayoutSession.ts +1 -1
  412. package/src/PileupRenderer/PileupRenderer.ts +23 -1190
  413. package/src/PileupRenderer/colorBy.ts +74 -0
  414. package/src/PileupRenderer/components/PileupRendering.tsx +20 -25
  415. package/src/PileupRenderer/getAlignmentShapeColor.ts +87 -0
  416. package/src/PileupRenderer/index.ts +1 -1
  417. package/src/PileupRenderer/layoutFeature.ts +83 -0
  418. package/src/PileupRenderer/layoutFeatures.ts +44 -0
  419. package/src/PileupRenderer/makeImageData.ts +93 -0
  420. package/src/PileupRenderer/renderAlignment.ts +97 -0
  421. package/src/PileupRenderer/renderAlignmentShape.ts +45 -0
  422. package/src/PileupRenderer/renderMethylation.ts +75 -0
  423. package/src/PileupRenderer/renderMismatches.ts +206 -0
  424. package/src/PileupRenderer/renderModifications.ts +74 -0
  425. package/src/PileupRenderer/renderPerBaseLettering.ts +67 -0
  426. package/src/PileupRenderer/renderPerBaseQuality.ts +46 -0
  427. package/src/PileupRenderer/renderSoftClipping.ts +78 -0
  428. package/src/PileupRenderer/sortUtil.ts +1 -3
  429. package/src/PileupRenderer/util.ts +63 -0
  430. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +5 -5
  431. package/src/SNPCoverageAdapter/generateCoverageBins.ts +105 -91
  432. package/src/SNPCoverageAdapter/index.ts +0 -2
  433. package/src/SNPCoverageAdapter/util.ts +33 -0
  434. package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +3 -3
  435. package/src/SNPCoverageRenderer/configSchema.ts +6 -0
  436. package/src/shared/BaseDisplayComponent.tsx +83 -0
  437. package/src/shared/FilterByTag.tsx +13 -23
  438. package/src/shared/afterAttach.tsx +66 -0
  439. package/src/shared/color.ts +59 -20
  440. package/src/shared/fetchChains.ts +23 -24
  441. package/src/shared/renderSvg.tsx +64 -0
  442. package/src/shared/util.ts +10 -0
  443. package/src/util.ts +54 -5
@@ -1,6 +1,6 @@
1
1
  import { lazy } from 'react';
2
2
  import { autorun, observable } from 'mobx';
3
- import { cast, types, addDisposer } from 'mobx-state-tree';
3
+ import { cast, types, addDisposer, getSnapshot, } from 'mobx-state-tree';
4
4
  import copy from 'copy-to-clipboard';
5
5
  import { ConfigurationReference, readConfObject, getConf, } from '@jbrowse/core/configuration';
6
6
  import { getRpcSessionId } from '@jbrowse/core/util/tracks';
@@ -16,6 +16,8 @@ import FilterListIcon from '@mui/icons-material/ClearAll';
16
16
  // locals
17
17
  import LinearPileupDisplayBlurb from './components/LinearPileupDisplayBlurb';
18
18
  import { getUniqueTagValues, getUniqueModificationValues, FilterModel, } from '../shared';
19
+ import { createAutorun, modificationColors } from '../util';
20
+ import { randomColor } from '../util';
19
21
  // async
20
22
  const FilterByTagDlg = lazy(() => import('../shared/FilterByTag'));
21
23
  const ColorByTagDlg = lazy(() => import('./components/ColorByTag'));
@@ -30,6 +32,7 @@ const rendererTypes = new Map([
30
32
  ]);
31
33
  /**
32
34
  * #stateModel LinearPileupDisplay
35
+ * #category display
33
36
  * extends `BaseLinearDisplay`
34
37
  */
35
38
  function stateModelFactory(configSchema) {
@@ -95,14 +98,36 @@ function stateModelFactory(configSchema) {
95
98
  modificationTagMap: observable.map({}),
96
99
  featureUnderMouseVolatile: undefined,
97
100
  currSortBpPerPx: 0,
98
- ready: false,
101
+ modificationsReady: false,
102
+ sortReady: false,
103
+ tagsReady: false,
104
+ }))
105
+ .views(self => ({
106
+ get autorunReady() {
107
+ const view = getContainingView(self);
108
+ return (view.initialized &&
109
+ self.featureDensityStatsReady &&
110
+ !self.regionTooLarge);
111
+ },
99
112
  }))
100
113
  .actions(self => ({
101
114
  /**
102
115
  * #action
103
116
  */
104
- setReady(flag) {
105
- self.ready = flag;
117
+ setModificationsReady(flag) {
118
+ self.modificationsReady = flag;
119
+ },
120
+ /**
121
+ * #action
122
+ */
123
+ setTagsReady(flag) {
124
+ self.tagsReady = flag;
125
+ },
126
+ /**
127
+ * #action
128
+ */
129
+ setSortReady(flag) {
130
+ self.sortReady = flag;
106
131
  },
107
132
  /**
108
133
  * #action
@@ -134,18 +159,16 @@ function stateModelFactory(configSchema) {
134
159
  setColorScheme(colorScheme) {
135
160
  self.colorTagMap = observable.map({}); // clear existing mapping
136
161
  self.colorBy = cast(colorScheme);
137
- self.ready = false;
162
+ self.tagsReady = false;
163
+ self.modificationsReady = false;
138
164
  },
139
165
  /**
140
166
  * #action
141
167
  */
142
168
  updateModificationColorMap(uniqueModifications) {
143
- const colorPalette = ['red', 'blue', 'green', 'orange', 'purple'];
144
169
  uniqueModifications.forEach(value => {
145
170
  if (!self.modificationTagMap.has(value)) {
146
- const totalKeys = [...self.modificationTagMap.keys()].length;
147
- const newColor = colorPalette[totalKeys];
148
- self.modificationTagMap.set(value, newColor);
171
+ self.modificationTagMap.set(value, modificationColors[value] || randomColor());
149
172
  }
150
173
  });
151
174
  },
@@ -171,8 +194,7 @@ function stateModelFactory(configSchema) {
171
194
  uniqueTag.forEach(value => {
172
195
  if (!self.colorTagMap.has(value)) {
173
196
  const totalKeys = [...self.colorTagMap.keys()].length;
174
- const newColor = colorPalette[totalKeys];
175
- self.colorTagMap.set(value, newColor);
197
+ self.colorTagMap.set(value, colorPalette[totalKeys]);
176
198
  }
177
199
  });
178
200
  },
@@ -182,101 +204,6 @@ function stateModelFactory(configSchema) {
182
204
  setFeatureUnderMouse(feat) {
183
205
  self.featureUnderMouseVolatile = feat;
184
206
  },
185
- }))
186
- .actions(self => ({
187
- afterAttach() {
188
- addDisposer(self, autorun(async () => {
189
- try {
190
- const { rpcManager } = getSession(self);
191
- const view = getContainingView(self);
192
- const { sortedBy, colorBy, parentTrack, adapterConfig, rendererType, } = self;
193
- if (!view.initialized ||
194
- !self.estimatedStatsReady ||
195
- self.regionTooLarge) {
196
- return;
197
- }
198
- const { staticBlocks, bpPerPx } = view;
199
- // continually generate the vc pairing, set and rerender if any
200
- // new values seen
201
- if (colorBy === null || colorBy === void 0 ? void 0 : colorBy.tag) {
202
- self.updateColorTagMap(await getUniqueTagValues(self, colorBy, staticBlocks));
203
- }
204
- if ((colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'modifications') {
205
- const adapter = getConf(parentTrack, ['adapter']);
206
- self.updateModificationColorMap(await getUniqueModificationValues(self, adapter, colorBy, staticBlocks));
207
- }
208
- if (sortedBy) {
209
- const { pos, refName, assemblyName } = sortedBy;
210
- // render just the sorted region first
211
- // @ts-expect-error
212
- await self.rendererType.renderInClient(rpcManager, {
213
- assemblyName,
214
- regions: [
215
- {
216
- start: pos,
217
- end: pos + 1,
218
- refName,
219
- assemblyName,
220
- },
221
- ],
222
- adapterConfig: adapterConfig,
223
- rendererType: rendererType.name,
224
- sessionId: getRpcSessionId(self),
225
- layoutId: view.id,
226
- timeout: 1000000,
227
- ...self.renderProps(),
228
- });
229
- self.setReady(true);
230
- self.setCurrSortBpPerPx(bpPerPx);
231
- }
232
- else {
233
- self.setReady(true);
234
- }
235
- }
236
- catch (e) {
237
- console.error(e);
238
- self.setError(e);
239
- }
240
- }, { delay: 1000 }));
241
- // autorun synchronizes featureUnderMouse with featureIdUnderMouse
242
- // asynchronously. this is needed due to how we do not serialize all
243
- // features from the BAM/CRAM over the rpc
244
- addDisposer(self, autorun(async () => {
245
- var _a;
246
- const session = getSession(self);
247
- try {
248
- const featureId = self.featureIdUnderMouse;
249
- if (((_a = self.featureUnderMouse) === null || _a === void 0 ? void 0 : _a.id()) !== featureId) {
250
- if (!featureId) {
251
- self.setFeatureUnderMouse(undefined);
252
- }
253
- else {
254
- const sessionId = getRpcSessionId(self);
255
- const view = getContainingView(self);
256
- const { feature } = (await session.rpcManager.call(sessionId, 'CoreGetFeatureDetails', {
257
- featureId,
258
- sessionId,
259
- layoutId: view.id,
260
- rendererType: 'PileupRenderer',
261
- }));
262
- // check featureIdUnderMouse is still the same as the
263
- // feature.id that was returned e.g. that the user hasn't
264
- // moused over to a new position during the async operation
265
- // above
266
- // @ts-expect-error
267
- if (self.featureIdUnderMouse === feature.uniqueId) {
268
- // @ts-expect-error
269
- self.setFeatureUnderMouse(new SimpleFeature(feature));
270
- }
271
- }
272
- }
273
- }
274
- catch (e) {
275
- console.error(e);
276
- session.notify(`${e}`, 'error');
277
- }
278
- }));
279
- },
280
207
  /**
281
208
  * #action
282
209
  */
@@ -319,8 +246,8 @@ function stateModelFactory(configSchema) {
319
246
  /**
320
247
  * #action
321
248
  */
322
- setConfig(configuration) {
323
- self.configuration = configuration;
249
+ setConfig(conf) {
250
+ self.configuration = conf;
324
251
  },
325
252
  /**
326
253
  * #action
@@ -335,6 +262,7 @@ function stateModelFactory(configSchema) {
335
262
  if (centerBp < 0 || !refName) {
336
263
  return;
337
264
  }
265
+ self.sortReady = false;
338
266
  self.sortedBy = {
339
267
  type,
340
268
  pos: centerBp,
@@ -342,7 +270,6 @@ function stateModelFactory(configSchema) {
342
270
  assemblyName,
343
271
  tag,
344
272
  };
345
- self.ready = false;
346
273
  },
347
274
  setFilterBy(filter) {
348
275
  self.filterBy = cast(filter);
@@ -362,41 +289,41 @@ function stateModelFactory(configSchema) {
362
289
  };
363
290
  })
364
291
  .views(self => ({
365
- /**
366
- * #getter
367
- */
368
- get maxHeight() {
369
- const conf = getConf(self, ['renderers', self.rendererTypeName]) || {};
370
- return self.trackMaxHeight !== undefined
371
- ? self.trackMaxHeight
372
- : conf.maxHeight;
373
- },
374
292
  /**
375
293
  * #getter
376
294
  */
377
295
  get rendererConfig() {
378
- const configBlob = getConf(self, ['renderers', self.rendererTypeName]) || {};
296
+ const { featureHeight, noSpacing, trackMaxHeight, mismatchAlpha, rendererTypeName, } = self;
297
+ const configBlob = getConf(self, ['renderers', rendererTypeName]) || {};
379
298
  return self.rendererType.configSchema.create({
380
299
  ...configBlob,
381
- height: self.featureHeight,
382
- noSpacing: self.noSpacing,
383
- maxHeight: this.maxHeight,
384
- mismatchAlpha: self.mismatchAlpha,
300
+ ...(featureHeight !== undefined ? { height: featureHeight } : {}),
301
+ ...(noSpacing !== undefined ? { noSpacing } : {}),
302
+ ...(mismatchAlpha !== undefined ? { mismatchAlpha } : {}),
303
+ ...(trackMaxHeight !== undefined
304
+ ? { maxHeight: trackMaxHeight }
305
+ : {}),
385
306
  }, getEnv(self));
386
307
  },
308
+ }))
309
+ .views(self => ({
310
+ /**
311
+ * #getter
312
+ */
313
+ get maxHeight() {
314
+ return readConfObject(self.rendererConfig, 'maxHeight');
315
+ },
387
316
  /**
388
317
  * #getter
389
318
  */
390
319
  get featureHeightSetting() {
391
- return (self.featureHeight || readConfObject(this.rendererConfig, 'height'));
320
+ return readConfObject(self.rendererConfig, 'height');
392
321
  },
393
322
  /**
394
323
  * #getter
395
324
  */
396
325
  get mismatchAlphaSetting() {
397
- return self.mismatchAlpha !== undefined
398
- ? self.mismatchAlpha
399
- : readConfObject(this.rendererConfig, 'mismatchAlpha');
326
+ return readConfObject(self.rendererConfig, 'mismatchAlpha');
400
327
  },
401
328
  /**
402
329
  * #getter
@@ -404,6 +331,15 @@ function stateModelFactory(configSchema) {
404
331
  get featureUnderMouse() {
405
332
  return self.featureUnderMouseVolatile;
406
333
  },
334
+ /**
335
+ * #getter
336
+ */
337
+ get renderReady() {
338
+ const view = getContainingView(self);
339
+ return (self.modificationsReady &&
340
+ self.tagsReady &&
341
+ self.currSortBpPerPx === view.bpPerPx);
342
+ },
407
343
  }))
408
344
  .views(self => {
409
345
  const { trackMenuItems: superTrackMenuItems, renderProps: superRenderProps, } = self;
@@ -424,7 +360,7 @@ function stateModelFactory(configSchema) {
424
360
  */
425
361
  contextMenuItems() {
426
362
  const feat = self.contextMenuFeature;
427
- const contextMenuItems = feat
363
+ return feat
428
364
  ? [
429
365
  {
430
366
  label: 'Open feature details',
@@ -447,7 +383,6 @@ function stateModelFactory(configSchema) {
447
383
  },
448
384
  ]
449
385
  : [];
450
- return contextMenuItems;
451
386
  },
452
387
  /**
453
388
  * #getter
@@ -458,19 +393,16 @@ function stateModelFactory(configSchema) {
458
393
  /**
459
394
  * #method
460
395
  */
461
- renderProps() {
462
- const view = getContainingView(self);
463
- const { colorTagMap, modificationTagMap, sortedBy, colorBy, filterBy, rpcDriverName, currSortBpPerPx, ready, } = self;
396
+ renderPropsPre() {
397
+ const { colorTagMap, modificationTagMap, sortedBy, colorBy, filterBy, rpcDriverName, } = self;
464
398
  const superProps = superRenderProps();
465
399
  return {
466
400
  ...superProps,
467
- notReady: superProps.notReady ||
468
- !ready ||
469
- (sortedBy && currSortBpPerPx !== view.bpPerPx),
401
+ notReady: superProps.notReady || !self.renderReady,
470
402
  rpcDriverName,
471
403
  displayModel: self,
472
- sortedBy,
473
- colorBy,
404
+ sortedBy: sortedBy ? getSnapshot(sortedBy) : undefined,
405
+ colorBy: colorBy ? getSnapshot(colorBy) : undefined,
474
406
  filterBy: JSON.parse(JSON.stringify(filterBy)),
475
407
  colorTagMap: Object.fromEntries(colorTagMap.toJSON()),
476
408
  modificationTagMap: Object.fromEntries(modificationTagMap.toJSON()),
@@ -493,7 +425,6 @@ function stateModelFactory(configSchema) {
493
425
  rendererType: 'PileupRenderer',
494
426
  }));
495
427
  if (feature) {
496
- // @ts-expect-error
497
428
  self.selectFeature(new SimpleFeature(feature));
498
429
  }
499
430
  }
@@ -535,6 +466,19 @@ function stateModelFactory(configSchema) {
535
466
  },
536
467
  };
537
468
  },
469
+ // renderProps and renderPropsPre are separated due to sortReady
470
+ // causing a infinite loop in the sort autorun, since the sort autorun
471
+ // uses renderProps
472
+ /**
473
+ * #method
474
+ */
475
+ renderProps() {
476
+ const pre = this.renderPropsPre();
477
+ return {
478
+ ...pre,
479
+ notReady: pre.notReady || !self.sortReady,
480
+ };
481
+ },
538
482
  /**
539
483
  * #method
540
484
  */
@@ -691,7 +635,106 @@ function stateModelFactory(configSchema) {
691
635
  ];
692
636
  },
693
637
  };
694
- });
638
+ })
639
+ .actions(self => ({
640
+ afterAttach() {
641
+ createAutorun(self, async () => {
642
+ const view = getContainingView(self);
643
+ if (!self.autorunReady) {
644
+ return;
645
+ }
646
+ const { colorBy } = self;
647
+ const { staticBlocks } = view;
648
+ if (colorBy === null || colorBy === void 0 ? void 0 : colorBy.tag) {
649
+ const vals = await getUniqueTagValues(self, colorBy, staticBlocks);
650
+ self.updateColorTagMap(vals);
651
+ }
652
+ self.setTagsReady(true);
653
+ }, { delay: 1000 });
654
+ createAutorun(self, async () => {
655
+ if (!self.autorunReady) {
656
+ return;
657
+ }
658
+ const { parentTrack, colorBy } = self;
659
+ const { staticBlocks } = getContainingView(self);
660
+ if ((colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'modifications') {
661
+ const adapter = getConf(parentTrack, ['adapter']);
662
+ const vals = await getUniqueModificationValues(self, adapter, colorBy, staticBlocks);
663
+ self.updateModificationColorMap(vals);
664
+ }
665
+ self.setModificationsReady(true);
666
+ });
667
+ createAutorun(self, async () => {
668
+ const { rpcManager } = getSession(self);
669
+ const view = getContainingView(self);
670
+ if (!self.autorunReady) {
671
+ return;
672
+ }
673
+ const { sortedBy, adapterConfig, rendererType } = self;
674
+ const { bpPerPx } = view;
675
+ if (sortedBy) {
676
+ const { pos, refName, assemblyName } = sortedBy;
677
+ // render just the sorted region first
678
+ // @ts-expect-error
679
+ await self.rendererType.renderInClient(rpcManager, {
680
+ assemblyName,
681
+ regions: [
682
+ {
683
+ start: pos,
684
+ end: pos + 1,
685
+ refName,
686
+ assemblyName,
687
+ },
688
+ ],
689
+ adapterConfig,
690
+ rendererType: rendererType.name,
691
+ sessionId: getRpcSessionId(self),
692
+ layoutId: view.id,
693
+ timeout: 1000000,
694
+ ...self.renderPropsPre(),
695
+ });
696
+ }
697
+ self.setCurrSortBpPerPx(bpPerPx);
698
+ self.setSortReady(true);
699
+ }, { delay: 1000 });
700
+ // autorun synchronizes featureUnderMouse with featureIdUnderMouse
701
+ // asynchronously. this is needed due to how we do not serialize all
702
+ // features from the BAM/CRAM over the rpc
703
+ addDisposer(self, autorun(async () => {
704
+ var _a;
705
+ const session = getSession(self);
706
+ try {
707
+ const featureId = self.featureIdUnderMouse;
708
+ if (((_a = self.featureUnderMouse) === null || _a === void 0 ? void 0 : _a.id()) !== featureId) {
709
+ if (!featureId) {
710
+ self.setFeatureUnderMouse(undefined);
711
+ }
712
+ else {
713
+ const sessionId = getRpcSessionId(self);
714
+ const view = getContainingView(self);
715
+ const { feature } = (await session.rpcManager.call(sessionId, 'CoreGetFeatureDetails', {
716
+ featureId,
717
+ sessionId,
718
+ layoutId: view.id,
719
+ rendererType: 'PileupRenderer',
720
+ }));
721
+ // check featureIdUnderMouse is still the same as the
722
+ // feature.id that was returned e.g. that the user hasn't
723
+ // moused over to a new position during the async operation
724
+ // above
725
+ if (self.featureIdUnderMouse === feature.uniqueId) {
726
+ self.setFeatureUnderMouse(new SimpleFeature(feature));
727
+ }
728
+ }
729
+ }
730
+ }
731
+ catch (e) {
732
+ console.error(e);
733
+ session.notify(`${e}`, 'error');
734
+ }
735
+ }));
736
+ },
737
+ }));
695
738
  }
696
739
  export default stateModelFactory;
697
740
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/LinearPileupDisplay/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/LinearPileupDisplay/model.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { LinearReadArcsDisplayModel } from '../model';
3
3
  declare const _default: ({ model, }: {
4
4
  model: LinearReadArcsDisplayModel;
5
- }) => JSX.Element;
5
+ }) => React.JSX.Element;
6
6
  export default _default;
@@ -1,47 +1,21 @@
1
- import React from 'react';
2
- import { isAlive } from 'mobx-state-tree';
3
- import { makeStyles } from 'tss-react/mui';
1
+ import React, { useCallback } from 'react';
4
2
  import { observer } from 'mobx-react';
5
3
  import { getContainingView } from '@jbrowse/core/util';
6
- import { LoadingEllipses } from '@jbrowse/core/ui';
7
- import { BlockMsg, } from '@jbrowse/plugin-linear-genome-view';
8
- const useStyles = makeStyles()(theme => {
9
- const bg = theme.palette.action.disabledBackground;
10
- return {
11
- loading: {
12
- paddingLeft: '0.6em',
13
- backgroundColor: theme.palette.background.default,
14
- backgroundImage: `repeating-linear-gradient(45deg, transparent, transparent 5px, ${bg} 5px, ${bg} 10px)`,
15
- height: '100%',
16
- width: '100%',
17
- pointerEvents: 'none',
18
- textAlign: 'center',
19
- },
20
- };
21
- });
4
+ import BaseDisplayComponent from '../../shared/BaseDisplayComponent';
22
5
  const Arcs = observer(function ({ model, }) {
23
6
  const view = getContainingView(model);
24
- return (React.createElement("canvas", { "data-testid": `Arc-display-${model.drawn}`, ref: ref => {
25
- if (isAlive(model)) {
26
- model.setRef(ref);
27
- }
28
- }, style: {
29
- position: 'absolute',
30
- left: -view.offsetPx + model.lastDrawnOffsetPx,
31
- width: view.dynamicBlocks.totalWidthPx,
32
- height: model.height,
33
- }, width: view.dynamicBlocks.totalWidthPx * 2, height: model.height * 2 }));
7
+ const width = Math.round(view.dynamicBlocks.totalWidthPx);
8
+ const height = model.height;
9
+ const cb = useCallback((ref) => {
10
+ model.setRef(ref);
11
+ },
12
+ // eslint-disable-next-line react-hooks/exhaustive-deps
13
+ [model, width, height]);
14
+ // note: the position absolute below avoids scrollbar from appearing on track
15
+ return (React.createElement("canvas", { "data-testid": "arc-canvas", ref: cb, style: { width, height, position: 'absolute' }, width: width * 2, height: height * 2 }));
34
16
  });
35
17
  export default observer(function ({ model, }) {
36
- const view = getContainingView(model);
37
- const { classes } = useStyles();
38
- const err = model.error;
39
- return err ? (React.createElement(BlockMsg, { message: `${err}`, severity: "error", buttonText: 'Reload', action: model.reload })) : model.loading ? (React.createElement("div", { className: classes.loading, style: {
40
- width: view.dynamicBlocks.totalWidthPx,
41
- height: 20,
42
- position: 'absolute',
43
- left: Math.max(0, -view.offsetPx),
44
- } },
45
- React.createElement(LoadingEllipses, { message: model.message }))) : (React.createElement(Arcs, { model: model }));
18
+ return (React.createElement(BaseDisplayComponent, { model: model },
19
+ React.createElement(Arcs, { model: model })));
46
20
  });
47
21
  //# sourceMappingURL=ReactComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../../src/LinearReadArcsDisplay/components/ReactComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EACL,QAAQ,GAET,MAAM,oCAAoC,CAAA;AAO3C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE;IACrC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAA;IAClD,OAAO;QACL,OAAO,EAAE;YACP,WAAW,EAAE,OAAO;YACpB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;YACjD,eAAe,EAAE,kEAAkE,EAAE,SAAS,EAAE,QAAQ;YACxG,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAM;YACb,aAAa,EAAE,MAAM;YACrB,SAAS,EAAE,QAAQ;SACpB;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAC9B,KAAK,GAGN;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAQ,CAAA;IAC5C,OAAO,CACL,+CACe,eAAe,KAAK,CAAC,KAAK,EAAE,EACzC,GAAG,EAAE,GAAG,CAAC,EAAE;YACT,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;gBAClB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aAClB;QACH,CAAC,EACD,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,iBAAiB;YAC9C,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,EACD,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,EAC1C,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,GACxB,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAC,UAAU,EAChC,KAAK,GAGN;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAA;IACvB,OAAO,GAAG,CAAC,CAAC,CAAC,CACX,oBAAC,QAAQ,IACP,OAAO,EAAE,GAAG,GAAG,EAAE,EACjB,QAAQ,EAAC,OAAO,EAChB,UAAU,EAAE,QAAQ,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,CACH,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAClB,6BACE,SAAS,EAAE,OAAO,CAAC,OAAO,EAC1B,KAAK,EAAE;YACL,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;YACtC,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;SAClC;QAED,oBAAC,eAAe,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACvC,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,GAAI,CACvB,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../../src/LinearReadArcsDisplay/components/ReactComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAKtD,OAAO,oBAAoB,MAAM,mCAAmC,CAAA;AAIpE,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAC9B,KAAK,GAGN;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAQ,CAAA;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,MAAM,EAAE,GAAG,WAAW,CACpB,CAAC,GAAsB,EAAE,EAAE;QACzB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IACD,uDAAuD;IACvD,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CACvB,CAAA;IAED,6EAA6E;IAC7E,OAAO,CACL,+CACc,YAAY,EACxB,GAAG,EAAE,EAAE,EACP,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAC9C,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,MAAM,EAAE,MAAM,GAAG,CAAC,GAClB,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAC,UAAU,EAChC,KAAK,GAGN;IACC,OAAO,CACL,oBAAC,oBAAoB,IAAC,KAAK,EAAE,KAAK;QAChC,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,GAAI,CACD,CACxB,CAAA;AACH,CAAC,CAAC,CAAA"}