@jbrowse/plugin-alignments 2.16.1 → 2.18.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 (474) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -1
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -13
  3. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  4. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  5. package/dist/AlignmentsFeatureDetail/Flags.js +2 -2
  6. package/dist/AlignmentsFeatureDetail/Formatter.js +0 -3
  7. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +3 -5
  8. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +4 -9
  9. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +3 -5
  10. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +37 -36
  11. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +2 -2
  12. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +3 -4
  13. package/dist/AlignmentsFeatureDetail/PairLink.d.ts +1 -1
  14. package/dist/AlignmentsFeatureDetail/PairLink.js +0 -1
  15. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +2 -2
  16. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +5 -6
  17. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -1
  18. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +1 -5
  19. package/dist/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  20. package/dist/AlignmentsFeatureDetail/getSAFeatures.js +2 -6
  21. package/dist/AlignmentsFeatureDetail/index.d.ts +1 -1
  22. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  23. package/dist/AlignmentsFeatureDetail/stateModelFactory.d.ts +3 -3
  24. package/dist/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  25. package/dist/AlignmentsFeatureDetail/tagInfo.js +1 -1
  26. package/dist/AlignmentsFeatureDetail/util.d.ts +1 -1
  27. package/dist/AlignmentsTrack/configSchemaF.d.ts +1 -1
  28. package/dist/AlignmentsTrack/configSchemaF.js +1 -8
  29. package/dist/AlignmentsTrack/index.d.ts +1 -1
  30. package/dist/AlignmentsTrack/index.js +0 -3
  31. package/dist/BamAdapter/BamAdapter.d.ts +8 -6
  32. package/dist/BamAdapter/BamAdapter.js +35 -30
  33. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +6 -20
  34. package/dist/BamAdapter/BamSlightlyLazyFeature.js +42 -75
  35. package/dist/BamAdapter/configSchema.d.ts +0 -17
  36. package/dist/BamAdapter/configSchema.js +1 -22
  37. package/dist/BamAdapter/index.d.ts +1 -1
  38. package/dist/CramAdapter/CramAdapter.d.ts +8 -10
  39. package/dist/CramAdapter/CramAdapter.js +26 -32
  40. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +23 -29
  41. package/dist/CramAdapter/CramSlightlyLazyFeature.js +59 -75
  42. package/dist/CramAdapter/CramTestAdapters.d.ts +3 -3
  43. package/dist/CramAdapter/CramTestAdapters.js +4 -5
  44. package/dist/CramAdapter/configSchema.d.ts +0 -14
  45. package/dist/CramAdapter/configSchema.js +1 -19
  46. package/dist/CramAdapter/index.d.ts +1 -1
  47. package/dist/CramAdapter/index.js +0 -1
  48. package/dist/CramAdapter/util.d.ts +2 -11
  49. package/dist/CramAdapter/util.js +1 -24
  50. package/dist/GuessAlignmentsTypes/index.d.ts +1 -1
  51. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  52. package/dist/HtsgetBamAdapter/configSchema.d.ts +0 -9
  53. package/dist/HtsgetBamAdapter/configSchema.js +1 -14
  54. package/dist/HtsgetBamAdapter/index.d.ts +1 -1
  55. package/dist/HtsgetBamAdapter/index.js +1 -1
  56. package/dist/LinearAlignmentsDisplay/{models/alignmentsModel.d.ts → alignmentsModel.d.ts} +2 -5
  57. package/dist/LinearAlignmentsDisplay/{models/alignmentsModel.js → alignmentsModel.js} +1 -31
  58. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
  59. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +2 -2
  60. package/dist/LinearAlignmentsDisplay/{models/configSchema.d.ts → configSchema.d.ts} +2 -16
  61. package/dist/LinearAlignmentsDisplay/{models/configSchema.js → configSchema.js} +3 -20
  62. package/dist/LinearAlignmentsDisplay/index.d.ts +1 -1
  63. package/dist/LinearAlignmentsDisplay/index.js +2 -3
  64. package/dist/LinearAlignmentsDisplay/{models/model.d.ts → model.d.ts} +7 -73
  65. package/dist/LinearAlignmentsDisplay/{models/model.js → model.js} +13 -82
  66. package/dist/LinearAlignmentsDisplay/{models/util.d.ts → util.d.ts} +1 -1
  67. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +34 -181
  68. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +72 -149
  69. package/dist/LinearPileupDisplay/components/ColorByTagDialog.d.ts +5 -4
  70. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +5 -3
  71. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +2 -2
  72. package/dist/LinearPileupDisplay/components/GroupByDialog.js +111 -56
  73. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +2 -6
  74. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +1 -1
  75. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +2 -2
  76. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +2 -2
  77. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +8 -6
  78. package/dist/LinearPileupDisplay/configSchema.d.ts +13 -16
  79. package/dist/LinearPileupDisplay/configSchema.js +12 -30
  80. package/dist/LinearPileupDisplay/index.d.ts +1 -1
  81. package/dist/LinearPileupDisplay/index.js +2 -2
  82. package/dist/LinearPileupDisplay/model.d.ts +121 -123
  83. package/dist/LinearPileupDisplay/model.js +110 -124
  84. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -1
  85. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +3 -7
  86. package/dist/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  87. package/dist/LinearReadArcsDisplay/configSchema.js +8 -31
  88. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  89. package/dist/LinearReadArcsDisplay/drawFeats.js +1 -9
  90. package/dist/LinearReadArcsDisplay/index.d.ts +1 -1
  91. package/dist/LinearReadArcsDisplay/index.js +1 -2
  92. package/dist/LinearReadArcsDisplay/model.d.ts +13 -90
  93. package/dist/LinearReadArcsDisplay/model.js +24 -112
  94. package/dist/LinearReadArcsDisplay/util.d.ts +1 -1
  95. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -1
  96. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +3 -7
  97. package/dist/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  98. package/dist/LinearReadCloudDisplay/configSchema.js +3 -28
  99. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  100. package/dist/LinearReadCloudDisplay/drawFeats.js +2 -2
  101. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  102. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  103. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  104. package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -3
  105. package/dist/LinearReadCloudDisplay/index.d.ts +1 -1
  106. package/dist/LinearReadCloudDisplay/index.js +1 -2
  107. package/dist/LinearReadCloudDisplay/model.d.ts +14 -64
  108. package/dist/LinearReadCloudDisplay/model.js +24 -76
  109. package/dist/LinearReadCloudDisplay/util.js +0 -1
  110. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  111. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +50 -20
  112. package/dist/LinearSNPCoverageDisplay/{models/configSchema.d.ts → configSchema.d.ts} +17 -22
  113. package/dist/LinearSNPCoverageDisplay/{models/configSchema.js → configSchema.js} +16 -32
  114. package/dist/LinearSNPCoverageDisplay/index.d.ts +1 -1
  115. package/dist/LinearSNPCoverageDisplay/index.js +3 -3
  116. package/{esm/LinearSNPCoverageDisplay/models → dist/LinearSNPCoverageDisplay}/model.d.ts +9 -60
  117. package/dist/LinearSNPCoverageDisplay/{models/model.js → model.js} +68 -146
  118. package/dist/MismatchParser/cigarToMismatches.d.ts +3 -0
  119. package/dist/MismatchParser/cigarToMismatches.js +91 -0
  120. package/dist/MismatchParser/getNextRefPos.d.ts +4 -0
  121. package/dist/MismatchParser/getNextRefPos.js +38 -0
  122. package/dist/MismatchParser/index.d.ts +5 -30
  123. package/dist/MismatchParser/index.js +10 -335
  124. package/dist/MismatchParser/mdToMismatches.d.ts +3 -0
  125. package/dist/MismatchParser/mdToMismatches.js +74 -0
  126. package/dist/ModificationParser/index.d.ts +19 -0
  127. package/dist/ModificationParser/index.js +127 -0
  128. package/dist/PileupRPC/base.d.ts +2 -2
  129. package/dist/PileupRPC/base.js +0 -1
  130. package/dist/PileupRPC/index.d.ts +1 -1
  131. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  132. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +2 -4
  133. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +3 -4
  134. package/dist/PileupRPC/methods/GetReducedFeatures.js +21 -20
  135. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +4 -4
  136. package/dist/PileupRPC/methods/GetVisibleModifications.js +10 -7
  137. package/dist/PileupRPC/util.d.ts +1 -1
  138. package/dist/PileupRenderer/PileupLayoutSession.d.ts +12 -11
  139. package/dist/PileupRenderer/PileupLayoutSession.js +2 -5
  140. package/dist/PileupRenderer/PileupRenderer.d.ts +11 -29
  141. package/dist/PileupRenderer/PileupRenderer.js +17 -20
  142. package/dist/PileupRenderer/colorBy.d.ts +2 -2
  143. package/dist/PileupRenderer/colorBy.js +0 -6
  144. package/dist/PileupRenderer/components/PileupRendering.d.ts +1 -1
  145. package/dist/PileupRenderer/components/PileupRendering.js +0 -3
  146. package/dist/PileupRenderer/configSchema.d.ts +0 -31
  147. package/dist/PileupRenderer/configSchema.js +1 -35
  148. package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  149. package/dist/PileupRenderer/getAlignmentShapeColor.js +1 -6
  150. package/dist/PileupRenderer/index.d.ts +1 -1
  151. package/dist/PileupRenderer/index.js +1 -1
  152. package/dist/PileupRenderer/layoutFeature.d.ts +2 -2
  153. package/dist/PileupRenderer/layoutFeature.js +0 -1
  154. package/dist/PileupRenderer/layoutFeatures.d.ts +5 -2
  155. package/dist/PileupRenderer/layoutFeatures.js +6 -4
  156. package/dist/PileupRenderer/makeImageData.d.ts +3 -4
  157. package/dist/PileupRenderer/makeImageData.js +8 -2
  158. package/dist/PileupRenderer/renderAlignment.d.ts +3 -3
  159. package/dist/PileupRenderer/renderAlignment.js +19 -8
  160. package/dist/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  161. package/dist/PileupRenderer/renderAlignmentShape.js +102 -21
  162. package/dist/PileupRenderer/renderMethylation.d.ts +6 -5
  163. package/dist/PileupRenderer/renderMethylation.js +13 -9
  164. package/dist/PileupRenderer/renderMismatches.d.ts +3 -3
  165. package/dist/PileupRenderer/renderMismatches.js +17 -28
  166. package/dist/PileupRenderer/renderModifications.d.ts +6 -5
  167. package/dist/PileupRenderer/renderModifications.js +30 -35
  168. package/dist/PileupRenderer/renderPerBaseLettering.d.ts +4 -3
  169. package/dist/PileupRenderer/renderPerBaseLettering.js +1 -4
  170. package/dist/PileupRenderer/renderPerBaseQuality.d.ts +4 -3
  171. package/dist/PileupRenderer/renderPerBaseQuality.js +3 -5
  172. package/dist/PileupRenderer/renderSoftClipping.d.ts +5 -5
  173. package/dist/PileupRenderer/renderSoftClipping.js +6 -10
  174. package/dist/PileupRenderer/sortUtil.d.ts +3 -8
  175. package/dist/PileupRenderer/sortUtil.js +13 -16
  176. package/dist/PileupRenderer/types.d.ts +26 -0
  177. package/dist/PileupRenderer/types.js +2 -0
  178. package/dist/PileupRenderer/util.d.ts +2 -2
  179. package/dist/PileupRenderer/util.js +1 -3
  180. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  181. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +14 -11
  182. package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -4
  183. package/dist/SNPCoverageAdapter/configSchema.js +1 -8
  184. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +11 -11
  185. package/dist/SNPCoverageAdapter/generateCoverageBins.js +74 -193
  186. package/dist/SNPCoverageAdapter/index.d.ts +1 -1
  187. package/dist/SNPCoverageAdapter/processDepth.d.ts +8 -0
  188. package/dist/SNPCoverageAdapter/processDepth.js +38 -0
  189. package/dist/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  190. package/dist/SNPCoverageAdapter/processMismatches.js +58 -0
  191. package/dist/SNPCoverageAdapter/processModifications.d.ts +10 -0
  192. package/dist/SNPCoverageAdapter/processModifications.js +49 -0
  193. package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  194. package/dist/SNPCoverageAdapter/processReferenceCpGs.js +63 -0
  195. package/dist/SNPCoverageAdapter/util.d.ts +9 -24
  196. package/dist/SNPCoverageAdapter/util.js +39 -0
  197. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +6 -4
  198. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +165 -72
  199. package/dist/SNPCoverageRenderer/configSchema.d.ts +0 -15
  200. package/dist/SNPCoverageRenderer/configSchema.js +1 -19
  201. package/dist/SNPCoverageRenderer/index.d.ts +1 -1
  202. package/dist/SNPCoverageRenderer/index.js +2 -2
  203. package/dist/index.d.ts +2 -2
  204. package/dist/index.js +12 -12
  205. package/dist/shared/afterAttach.d.ts +1 -1
  206. package/dist/shared/afterAttach.js +0 -2
  207. package/dist/shared/color.d.ts +1 -11
  208. package/dist/shared/color.js +1 -15
  209. package/{esm/shared → dist/shared/components}/BaseDisplayComponent.d.ts +2 -2
  210. package/dist/shared/{BaseDisplayComponent.js → components/BaseDisplayComponent.js} +12 -11
  211. package/{esm/shared → dist/shared/components}/FilterByTagDialog.d.ts +3 -3
  212. package/dist/shared/{FilterByTagDialog.js → components/FilterByTagDialog.js} +7 -3
  213. package/dist/shared/fetchChains.d.ts +2 -2
  214. package/dist/shared/fetchChains.js +2 -4
  215. package/dist/shared/getMaximumModificationAtEachPosition.d.ts +8 -0
  216. package/dist/shared/getMaximumModificationAtEachPosition.js +41 -0
  217. package/dist/shared/getUniqueModifications.d.ts +14 -0
  218. package/dist/shared/getUniqueModifications.js +16 -0
  219. package/dist/shared/getUniqueTags.d.ts +15 -0
  220. package/dist/shared/getUniqueTags.js +18 -0
  221. package/dist/shared/{renderSvg.js → renderSvgUtil.js} +0 -2
  222. package/dist/shared/types.d.ts +94 -0
  223. package/dist/shared/types.js +2 -0
  224. package/dist/shared/util.d.ts +19 -1
  225. package/dist/shared/util.js +52 -0
  226. package/dist/util.d.ts +10 -7
  227. package/dist/util.js +26 -37
  228. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -1
  229. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -13
  230. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  231. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  232. package/esm/AlignmentsFeatureDetail/Flags.js +2 -2
  233. package/esm/AlignmentsFeatureDetail/Formatter.js +0 -3
  234. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +3 -5
  235. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +5 -10
  236. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +3 -5
  237. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +37 -36
  238. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +2 -2
  239. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +3 -4
  240. package/esm/AlignmentsFeatureDetail/PairLink.d.ts +1 -1
  241. package/esm/AlignmentsFeatureDetail/PairLink.js +0 -1
  242. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +2 -2
  243. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +5 -6
  244. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -1
  245. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +2 -6
  246. package/esm/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  247. package/esm/AlignmentsFeatureDetail/getSAFeatures.js +2 -6
  248. package/esm/AlignmentsFeatureDetail/index.d.ts +1 -1
  249. package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  250. package/esm/AlignmentsFeatureDetail/stateModelFactory.d.ts +3 -3
  251. package/esm/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  252. package/esm/AlignmentsFeatureDetail/tagInfo.js +1 -1
  253. package/esm/AlignmentsFeatureDetail/util.d.ts +1 -1
  254. package/esm/AlignmentsTrack/configSchemaF.d.ts +1 -1
  255. package/esm/AlignmentsTrack/configSchemaF.js +1 -8
  256. package/esm/AlignmentsTrack/index.d.ts +1 -1
  257. package/esm/AlignmentsTrack/index.js +0 -3
  258. package/esm/BamAdapter/BamAdapter.d.ts +8 -6
  259. package/esm/BamAdapter/BamAdapter.js +36 -31
  260. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +6 -20
  261. package/esm/BamAdapter/BamSlightlyLazyFeature.js +43 -76
  262. package/esm/BamAdapter/configSchema.d.ts +0 -17
  263. package/esm/BamAdapter/configSchema.js +1 -22
  264. package/esm/BamAdapter/index.d.ts +1 -1
  265. package/esm/CramAdapter/CramAdapter.d.ts +8 -10
  266. package/esm/CramAdapter/CramAdapter.js +28 -34
  267. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +23 -29
  268. package/esm/CramAdapter/CramSlightlyLazyFeature.js +59 -75
  269. package/esm/CramAdapter/CramTestAdapters.d.ts +3 -3
  270. package/esm/CramAdapter/CramTestAdapters.js +4 -5
  271. package/esm/CramAdapter/configSchema.d.ts +0 -14
  272. package/esm/CramAdapter/configSchema.js +1 -19
  273. package/esm/CramAdapter/index.d.ts +1 -1
  274. package/esm/CramAdapter/index.js +0 -1
  275. package/esm/CramAdapter/util.d.ts +2 -11
  276. package/esm/CramAdapter/util.js +1 -24
  277. package/esm/GuessAlignmentsTypes/index.d.ts +1 -1
  278. package/esm/GuessAlignmentsTypes/index.js +1 -1
  279. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  280. package/esm/HtsgetBamAdapter/configSchema.d.ts +0 -9
  281. package/esm/HtsgetBamAdapter/configSchema.js +1 -14
  282. package/esm/HtsgetBamAdapter/index.d.ts +1 -1
  283. package/esm/HtsgetBamAdapter/index.js +1 -1
  284. package/esm/LinearAlignmentsDisplay/{models/alignmentsModel.d.ts → alignmentsModel.d.ts} +2 -5
  285. package/esm/LinearAlignmentsDisplay/{models/alignmentsModel.js → alignmentsModel.js} +1 -31
  286. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
  287. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +2 -2
  288. package/esm/LinearAlignmentsDisplay/{models/configSchema.d.ts → configSchema.d.ts} +2 -16
  289. package/esm/LinearAlignmentsDisplay/configSchema.js +16 -0
  290. package/esm/LinearAlignmentsDisplay/index.d.ts +1 -1
  291. package/esm/LinearAlignmentsDisplay/index.js +2 -3
  292. package/esm/LinearAlignmentsDisplay/{models/model.d.ts → model.d.ts} +7 -73
  293. package/esm/LinearAlignmentsDisplay/{models/model.js → model.js} +14 -83
  294. package/esm/LinearAlignmentsDisplay/{models/util.d.ts → util.d.ts} +1 -1
  295. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +34 -181
  296. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +74 -151
  297. package/esm/LinearPileupDisplay/components/ColorByTagDialog.d.ts +5 -4
  298. package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +5 -3
  299. package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +2 -2
  300. package/esm/LinearPileupDisplay/components/GroupByDialog.js +111 -56
  301. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +2 -6
  302. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +1 -1
  303. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +2 -2
  304. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +2 -2
  305. package/esm/LinearPileupDisplay/components/SortByTagDialog.js +8 -6
  306. package/esm/LinearPileupDisplay/configSchema.d.ts +13 -16
  307. package/esm/LinearPileupDisplay/configSchema.js +12 -30
  308. package/esm/LinearPileupDisplay/index.d.ts +1 -1
  309. package/esm/LinearPileupDisplay/index.js +2 -2
  310. package/esm/LinearPileupDisplay/model.d.ts +121 -123
  311. package/esm/LinearPileupDisplay/model.js +111 -125
  312. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -1
  313. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +3 -7
  314. package/esm/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  315. package/esm/LinearReadArcsDisplay/configSchema.js +8 -31
  316. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  317. package/esm/LinearReadArcsDisplay/drawFeats.js +1 -9
  318. package/esm/LinearReadArcsDisplay/index.d.ts +1 -1
  319. package/esm/LinearReadArcsDisplay/index.js +1 -2
  320. package/esm/LinearReadArcsDisplay/model.d.ts +13 -90
  321. package/esm/LinearReadArcsDisplay/model.js +25 -113
  322. package/esm/LinearReadArcsDisplay/util.d.ts +1 -1
  323. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -1
  324. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +3 -7
  325. package/esm/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  326. package/esm/LinearReadCloudDisplay/configSchema.js +3 -28
  327. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  328. package/esm/LinearReadCloudDisplay/drawFeats.js +2 -2
  329. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  330. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  331. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  332. package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -3
  333. package/esm/LinearReadCloudDisplay/index.d.ts +1 -1
  334. package/esm/LinearReadCloudDisplay/index.js +1 -2
  335. package/esm/LinearReadCloudDisplay/model.d.ts +14 -64
  336. package/esm/LinearReadCloudDisplay/model.js +24 -76
  337. package/esm/LinearReadCloudDisplay/util.js +0 -1
  338. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  339. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +50 -20
  340. package/esm/LinearSNPCoverageDisplay/{models/configSchema.d.ts → configSchema.d.ts} +17 -22
  341. package/esm/LinearSNPCoverageDisplay/{models/configSchema.js → configSchema.js} +16 -32
  342. package/esm/LinearSNPCoverageDisplay/index.d.ts +1 -1
  343. package/esm/LinearSNPCoverageDisplay/index.js +3 -3
  344. package/{dist/LinearSNPCoverageDisplay/models → esm/LinearSNPCoverageDisplay}/model.d.ts +9 -60
  345. package/esm/LinearSNPCoverageDisplay/{models/model.js → model.js} +69 -147
  346. package/esm/MismatchParser/cigarToMismatches.d.ts +3 -0
  347. package/esm/MismatchParser/cigarToMismatches.js +88 -0
  348. package/esm/MismatchParser/getNextRefPos.d.ts +4 -0
  349. package/esm/MismatchParser/getNextRefPos.js +35 -0
  350. package/esm/MismatchParser/index.d.ts +5 -30
  351. package/esm/MismatchParser/index.js +5 -325
  352. package/esm/MismatchParser/mdToMismatches.d.ts +3 -0
  353. package/esm/MismatchParser/mdToMismatches.js +71 -0
  354. package/esm/ModificationParser/index.d.ts +19 -0
  355. package/esm/ModificationParser/index.js +121 -0
  356. package/esm/PileupRPC/base.d.ts +2 -2
  357. package/esm/PileupRPC/base.js +0 -1
  358. package/esm/PileupRPC/index.d.ts +1 -1
  359. package/esm/PileupRPC/index.js +1 -1
  360. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  361. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +2 -4
  362. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +3 -4
  363. package/esm/PileupRPC/methods/GetReducedFeatures.js +21 -20
  364. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +4 -4
  365. package/esm/PileupRPC/methods/GetVisibleModifications.js +10 -7
  366. package/esm/PileupRPC/util.d.ts +1 -1
  367. package/esm/PileupRenderer/PileupLayoutSession.d.ts +12 -11
  368. package/esm/PileupRenderer/PileupLayoutSession.js +2 -5
  369. package/esm/PileupRenderer/PileupRenderer.d.ts +11 -29
  370. package/esm/PileupRenderer/PileupRenderer.js +19 -22
  371. package/esm/PileupRenderer/colorBy.d.ts +2 -2
  372. package/esm/PileupRenderer/colorBy.js +1 -7
  373. package/esm/PileupRenderer/components/PileupRendering.d.ts +1 -1
  374. package/esm/PileupRenderer/components/PileupRendering.js +1 -4
  375. package/esm/PileupRenderer/configSchema.d.ts +0 -31
  376. package/esm/PileupRenderer/configSchema.js +1 -35
  377. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  378. package/esm/PileupRenderer/getAlignmentShapeColor.js +2 -7
  379. package/esm/PileupRenderer/index.d.ts +1 -1
  380. package/esm/PileupRenderer/index.js +1 -1
  381. package/esm/PileupRenderer/layoutFeature.d.ts +2 -2
  382. package/esm/PileupRenderer/layoutFeature.js +0 -1
  383. package/esm/PileupRenderer/layoutFeatures.d.ts +5 -2
  384. package/esm/PileupRenderer/layoutFeatures.js +7 -5
  385. package/esm/PileupRenderer/makeImageData.d.ts +3 -4
  386. package/esm/PileupRenderer/makeImageData.js +8 -2
  387. package/esm/PileupRenderer/renderAlignment.d.ts +3 -3
  388. package/esm/PileupRenderer/renderAlignment.js +19 -8
  389. package/esm/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  390. package/esm/PileupRenderer/renderAlignmentShape.js +102 -21
  391. package/esm/PileupRenderer/renderMethylation.d.ts +6 -5
  392. package/esm/PileupRenderer/renderMethylation.js +13 -9
  393. package/esm/PileupRenderer/renderMismatches.d.ts +3 -3
  394. package/esm/PileupRenderer/renderMismatches.js +17 -28
  395. package/esm/PileupRenderer/renderModifications.d.ts +6 -5
  396. package/esm/PileupRenderer/renderModifications.js +29 -34
  397. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +4 -3
  398. package/esm/PileupRenderer/renderPerBaseLettering.js +1 -4
  399. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +4 -3
  400. package/esm/PileupRenderer/renderPerBaseQuality.js +3 -5
  401. package/esm/PileupRenderer/renderSoftClipping.d.ts +5 -5
  402. package/esm/PileupRenderer/renderSoftClipping.js +7 -11
  403. package/esm/PileupRenderer/sortUtil.d.ts +3 -8
  404. package/esm/PileupRenderer/sortUtil.js +13 -16
  405. package/esm/PileupRenderer/types.d.ts +26 -0
  406. package/esm/PileupRenderer/types.js +1 -0
  407. package/esm/PileupRenderer/util.d.ts +2 -2
  408. package/esm/PileupRenderer/util.js +1 -3
  409. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  410. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +15 -12
  411. package/esm/SNPCoverageAdapter/configSchema.d.ts +0 -4
  412. package/esm/SNPCoverageAdapter/configSchema.js +1 -8
  413. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +11 -11
  414. package/esm/SNPCoverageAdapter/generateCoverageBins.js +73 -192
  415. package/esm/SNPCoverageAdapter/index.d.ts +1 -1
  416. package/esm/SNPCoverageAdapter/processDepth.d.ts +8 -0
  417. package/esm/SNPCoverageAdapter/processDepth.js +35 -0
  418. package/esm/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  419. package/esm/SNPCoverageAdapter/processMismatches.js +55 -0
  420. package/esm/SNPCoverageAdapter/processModifications.d.ts +10 -0
  421. package/esm/SNPCoverageAdapter/processModifications.js +46 -0
  422. package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  423. package/esm/SNPCoverageAdapter/processReferenceCpGs.js +60 -0
  424. package/esm/SNPCoverageAdapter/util.d.ts +9 -24
  425. package/esm/SNPCoverageAdapter/util.js +35 -1
  426. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +6 -4
  427. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +167 -74
  428. package/esm/SNPCoverageRenderer/configSchema.d.ts +0 -15
  429. package/esm/SNPCoverageRenderer/configSchema.js +1 -19
  430. package/esm/SNPCoverageRenderer/index.d.ts +1 -1
  431. package/esm/SNPCoverageRenderer/index.js +2 -2
  432. package/esm/index.d.ts +2 -2
  433. package/esm/index.js +10 -10
  434. package/esm/shared/afterAttach.d.ts +1 -1
  435. package/esm/shared/afterAttach.js +0 -2
  436. package/esm/shared/color.d.ts +1 -11
  437. package/esm/shared/color.js +0 -14
  438. package/{dist/shared → esm/shared/components}/BaseDisplayComponent.d.ts +2 -2
  439. package/esm/shared/{BaseDisplayComponent.js → components/BaseDisplayComponent.js} +12 -11
  440. package/{dist/shared → esm/shared/components}/FilterByTagDialog.d.ts +3 -3
  441. package/esm/shared/{FilterByTagDialog.js → components/FilterByTagDialog.js} +7 -3
  442. package/esm/shared/fetchChains.d.ts +2 -2
  443. package/esm/shared/fetchChains.js +2 -4
  444. package/esm/shared/getMaximumModificationAtEachPosition.d.ts +8 -0
  445. package/esm/shared/getMaximumModificationAtEachPosition.js +38 -0
  446. package/esm/shared/getUniqueModifications.d.ts +14 -0
  447. package/esm/shared/getUniqueModifications.js +13 -0
  448. package/esm/shared/getUniqueTags.d.ts +15 -0
  449. package/esm/shared/getUniqueTags.js +15 -0
  450. package/esm/shared/{renderSvg.js → renderSvgUtil.js} +0 -2
  451. package/esm/shared/types.d.ts +94 -0
  452. package/esm/shared/types.js +1 -0
  453. package/esm/shared/util.d.ts +19 -1
  454. package/esm/shared/util.js +47 -0
  455. package/esm/util.d.ts +10 -7
  456. package/esm/util.js +24 -34
  457. package/package.json +4 -5
  458. package/dist/LinearPileupDisplay/components/ColorByModificationsDialog.d.ts +0 -15
  459. package/dist/LinearPileupDisplay/components/ColorByModificationsDialog.js +0 -41
  460. package/dist/LinearPileupDisplay/components/ModificationsTable.d.ts +0 -4
  461. package/dist/LinearPileupDisplay/components/ModificationsTable.js +0 -28
  462. package/dist/shared/index.d.ts +0 -49
  463. package/dist/shared/index.js +0 -41
  464. package/esm/LinearAlignmentsDisplay/models/configSchema.js +0 -33
  465. package/esm/LinearPileupDisplay/components/ColorByModificationsDialog.d.ts +0 -15
  466. package/esm/LinearPileupDisplay/components/ColorByModificationsDialog.js +0 -36
  467. package/esm/LinearPileupDisplay/components/ModificationsTable.d.ts +0 -4
  468. package/esm/LinearPileupDisplay/components/ModificationsTable.js +0 -22
  469. package/esm/shared/index.d.ts +0 -49
  470. package/esm/shared/index.js +0 -36
  471. /package/dist/LinearAlignmentsDisplay/{models/util.js → util.js} +0 -0
  472. /package/dist/shared/{renderSvg.d.ts → renderSvgUtil.d.ts} +0 -0
  473. /package/esm/LinearAlignmentsDisplay/{models/util.js → util.js} +0 -0
  474. /package/esm/shared/{renderSvg.d.ts → renderSvgUtil.d.ts} +0 -0
@@ -1,127 +1,82 @@
1
1
  import { lazy } from 'react';
2
- import { autorun, observable } from 'mobx';
3
- import { cast, types, addDisposer, getSnapshot } from 'mobx-state-tree';
4
- import copy from 'copy-to-clipboard';
5
- import { ConfigurationReference, readConfObject, getConf, } from '@jbrowse/core/configuration';
2
+ import { ConfigurationReference, getConf, readConfObject, } from '@jbrowse/core/configuration';
6
3
  import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
7
- import { getRpcSessionId } from '@jbrowse/core/util/tracks';
8
- import { getEnv, getSession, isSessionModelWithWidgets, getContainingView, SimpleFeature, getContainingTrack, } from '@jbrowse/core/util';
9
- import { BaseLinearDisplay, } from '@jbrowse/plugin-linear-genome-view';
10
- // icons
11
4
  import { ContentCopy as ContentCopyIcon } from '@jbrowse/core/ui/Icons';
12
- import MenuOpenIcon from '@mui/icons-material/MenuOpen';
5
+ import { SimpleFeature, getContainingTrack, getContainingView, getEnv, getSession, isSessionModelWithWidgets, } from '@jbrowse/core/util';
6
+ import { getRpcSessionId } from '@jbrowse/core/util/tracks';
7
+ import { BaseLinearDisplay } from '@jbrowse/plugin-linear-genome-view';
13
8
  import FilterListIcon from '@mui/icons-material/ClearAll';
14
- // locals
15
- import LinearPileupDisplayBlurb from './components/LinearPileupDisplayBlurb';
16
- import { getUniqueTagValues, FilterModel } from '../shared';
9
+ import MenuOpenIcon from '@mui/icons-material/MenuOpen';
10
+ import copy from 'copy-to-clipboard';
11
+ import { autorun, observable } from 'mobx';
12
+ import { addDisposer, cast, isAlive, types } from 'mobx-state-tree';
17
13
  import { createAutorun } from '../util';
18
- import { ColorByModel } from '../shared/color';
19
- // lazies
20
- const FilterByTagDialog = lazy(() => import('../shared/FilterByTagDialog'));
14
+ import LinearPileupDisplayBlurb from './components/LinearPileupDisplayBlurb';
15
+ import { getUniqueTags } from '../shared/getUniqueTags';
16
+ const FilterByTagDialog = lazy(() => import('../shared/components/FilterByTagDialog'));
21
17
  const ColorByTagDialog = lazy(() => import('./components/ColorByTagDialog'));
22
18
  const SetFeatureHeightDialog = lazy(() => import('./components/SetFeatureHeightDialog'));
23
19
  const SetMaxHeightDialog = lazy(() => import('./components/SetMaxHeightDialog'));
24
- // using a map because it preserves order
25
20
  const rendererTypes = new Map([
26
21
  ['pileup', 'PileupRenderer'],
27
22
  ['svg', 'SvgFeatureRenderer'],
28
23
  ]);
29
- /**
30
- * #stateModel SharedLinearPileupDisplayMixin
31
- * #category display
32
- * extends `BaseLinearDisplay`
33
- */
34
24
  export function SharedLinearPileupDisplayMixin(configSchema) {
35
25
  return types
36
26
  .compose(BaseLinearDisplay, types.model({
37
- /**
38
- * #property
39
- */
40
27
  configuration: ConfigurationReference(configSchema),
41
- /**
42
- * #property
43
- */
44
28
  featureHeight: types.maybe(types.number),
45
- /**
46
- * #property
47
- */
48
29
  noSpacing: types.maybe(types.boolean),
49
- /**
50
- * #property
51
- */
52
30
  fadeLikelihood: types.maybe(types.boolean),
53
- /**
54
- * #property
55
- */
56
31
  trackMaxHeight: types.maybe(types.number),
57
- /**
58
- * #property
59
- */
60
- colorBy: ColorByModel,
61
- /**
62
- * #property
63
- */
64
- filterBy: types.optional(FilterModel, {}),
65
- /**
66
- * #property
67
- */
32
+ colorBySetting: types.frozen(),
33
+ filterBySetting: types.frozen(),
68
34
  jexlFilters: types.optional(types.array(types.string), []),
69
35
  }))
70
36
  .volatile(() => ({
71
37
  colorTagMap: observable.map({}),
72
38
  featureUnderMouseVolatile: undefined,
73
39
  tagsReady: false,
40
+ }))
41
+ .views(self => ({
42
+ get colorBy() {
43
+ var _a;
44
+ return (_a = self.colorBySetting) !== null && _a !== void 0 ? _a : getConf(self, 'colorBy');
45
+ },
46
+ get filterBy() {
47
+ var _a;
48
+ return (_a = self.filterBySetting) !== null && _a !== void 0 ? _a : getConf(self, 'filterBy');
49
+ },
74
50
  }))
75
51
  .views(self => ({
76
52
  get autorunReady() {
77
53
  const view = getContainingView(self);
78
- return (view.initialized &&
79
- self.featureDensityStatsReady &&
80
- !self.regionTooLarge);
54
+ return view.initialized && self.statsReadyAndRegionNotTooLarge;
81
55
  },
82
56
  }))
83
57
  .actions(self => ({
84
- /**
85
- * #action
86
- */
87
58
  setTagsReady(flag) {
88
59
  self.tagsReady = flag;
89
60
  },
90
- /**
91
- * #action
92
- */
93
61
  setMaxHeight(n) {
94
62
  self.trackMaxHeight = n;
95
63
  },
96
- /**
97
- * #action
98
- */
99
64
  setFeatureHeight(n) {
100
65
  self.featureHeight = n;
101
66
  },
102
- /**
103
- * #action
104
- */
105
67
  setNoSpacing(flag) {
106
68
  self.noSpacing = flag;
107
69
  },
108
- /**
109
- * #action
110
- */
111
70
  setColorScheme(colorScheme) {
112
- self.colorTagMap = observable.map({}); // clear existing mapping
113
- self.colorBy = cast(colorScheme);
71
+ self.colorTagMap = observable.map({});
72
+ self.colorBySetting = {
73
+ ...colorScheme,
74
+ };
114
75
  if (colorScheme.tag) {
115
76
  self.tagsReady = false;
116
77
  }
117
78
  },
118
- /**
119
- * #action
120
- */
121
79
  updateColorTagMap(uniqueTag) {
122
- // pale color scheme
123
- // https://cran.r-project.org/web/packages/khroma/vignettes/tol.html
124
- // e.g. "tol_light"
125
80
  const colorPalette = [
126
81
  '#BBCCEE',
127
82
  'pink',
@@ -141,15 +96,9 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
141
96
  }
142
97
  });
143
98
  },
144
- /**
145
- * #action
146
- */
147
99
  setFeatureUnderMouse(feat) {
148
100
  self.featureUnderMouseVolatile = feat;
149
101
  },
150
- /**
151
- * #action
152
- */
153
102
  selectFeature(feature) {
154
103
  const session = getSession(self);
155
104
  if (isSessionModelWithWidgets(session)) {
@@ -162,39 +111,25 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
162
111
  }
163
112
  session.setSelection(feature);
164
113
  },
165
- /**
166
- * #action
167
- * uses copy-to-clipboard and generates notification
168
- */
169
114
  copyFeatureToClipboard(feature) {
170
115
  const { uniqueId, ...rest } = feature.toJSON();
171
116
  const session = getSession(self);
172
117
  copy(JSON.stringify(rest, null, 4));
173
118
  session.notify('Copied to clipboard', 'success');
174
119
  },
175
- /**
176
- * #action
177
- */
178
120
  setConfig(conf) {
179
121
  self.configuration = conf;
180
122
  },
181
- /**
182
- * #action
183
- */
184
123
  setFilterBy(filter) {
185
- self.filterBy = cast(filter);
124
+ self.filterBySetting = {
125
+ ...filter,
126
+ };
186
127
  },
187
- /**
188
- * #action
189
- */
190
128
  setJexlFilters(filters) {
191
129
  self.jexlFilters = cast(filters);
192
130
  },
193
131
  }))
194
132
  .views(self => ({
195
- /**
196
- * #getter
197
- */
198
133
  get rendererConfig() {
199
134
  const { featureHeight, noSpacing, trackMaxHeight, rendererTypeName } = self;
200
135
  const configBlob = getConf(self, ['renderers', rendererTypeName]) || {};
@@ -209,33 +144,18 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
209
144
  },
210
145
  }))
211
146
  .views(self => ({
212
- /**
213
- * #getter
214
- */
215
147
  get maxHeight() {
216
148
  return readConfObject(self.rendererConfig, 'maxHeight');
217
149
  },
218
- /**
219
- * #getter
220
- */
221
150
  get featureHeightSetting() {
222
151
  return readConfObject(self.rendererConfig, 'height');
223
152
  },
224
- /**
225
- * #getter
226
- */
227
153
  get featureUnderMouse() {
228
154
  return self.featureUnderMouseVolatile;
229
155
  },
230
- /**
231
- * #getter
232
- */
233
156
  renderReady() {
234
157
  return self.tagsReady;
235
158
  },
236
- /**
237
- * #getter
238
- */
239
159
  get filters() {
240
160
  return new SerializableFilterChain({ filters: self.jexlFilters });
241
161
  },
@@ -243,9 +163,6 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
243
163
  .views(self => {
244
164
  const { trackMenuItems: superTrackMenuItems, renderProps: superRenderProps, } = self;
245
165
  return {
246
- /**
247
- * #getter
248
- */
249
166
  get rendererTypeName() {
250
167
  const viewName = getConf(self, 'defaultRendering');
251
168
  const rendererType = rendererTypes.get(viewName);
@@ -254,9 +171,6 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
254
171
  }
255
172
  return rendererType;
256
173
  },
257
- /**
258
- * #method
259
- */
260
174
  contextMenuItems() {
261
175
  const feat = self.contextMenuFeature;
262
176
  return feat
@@ -279,15 +193,9 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
279
193
  ]
280
194
  : [];
281
195
  },
282
- /**
283
- * #getter
284
- */
285
196
  get DisplayBlurb() {
286
197
  return LinearPileupDisplayBlurb;
287
198
  },
288
- /**
289
- * #method
290
- */
291
199
  renderPropsPre() {
292
200
  const { colorTagMap, colorBy, filterBy, rpcDriverName } = self;
293
201
  const superProps = superRenderProps();
@@ -296,8 +204,8 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
296
204
  notReady: superProps.notReady || !self.renderReady(),
297
205
  rpcDriverName,
298
206
  displayModel: self,
299
- colorBy: colorBy ? getSnapshot(colorBy) : undefined,
300
- filterBy: JSON.parse(JSON.stringify(filterBy)),
207
+ colorBy,
208
+ filterBy,
301
209
  filters: self.filters,
302
210
  colorTagMap: Object.fromEntries(colorTagMap.toJSON()),
303
211
  config: self.rendererConfig,
@@ -317,7 +225,7 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
317
225
  layoutId: getContainingView(self).id,
318
226
  rendererType: 'PileupRenderer',
319
227
  }));
320
- if (feature) {
228
+ if (isAlive(self) && feature) {
321
229
  self.selectFeature(new SimpleFeature(feature));
322
230
  }
323
231
  }
@@ -330,7 +238,6 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
330
238
  onClick() {
331
239
  self.clearFeatureSelection();
332
240
  },
333
- // similar to click but opens a menu with further options
334
241
  async onFeatureContextMenu(_, featureId) {
335
242
  const session = getSession(self);
336
243
  const { rpcManager } = session;
@@ -359,45 +266,54 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
359
266
  },
360
267
  };
361
268
  },
362
- /**
363
- * #method
364
- */
365
269
  colorSchemeSubMenuItems() {
366
270
  return [
367
271
  {
368
272
  label: 'Normal',
369
273
  onClick: () => {
370
- self.setColorScheme({ type: 'normal' });
274
+ self.setColorScheme({
275
+ type: 'normal',
276
+ });
371
277
  },
372
278
  },
373
279
  {
374
280
  label: 'Mapping quality',
375
281
  onClick: () => {
376
- self.setColorScheme({ type: 'mappingQuality' });
282
+ self.setColorScheme({
283
+ type: 'mappingQuality',
284
+ });
377
285
  },
378
286
  },
379
287
  {
380
288
  label: 'Strand',
381
289
  onClick: () => {
382
- self.setColorScheme({ type: 'strand' });
290
+ self.setColorScheme({
291
+ type: 'strand',
292
+ });
383
293
  },
384
294
  },
385
295
  {
386
296
  label: 'Per-base quality',
387
297
  onClick: () => {
388
- self.setColorScheme({ type: 'perBaseQuality' });
298
+ self.setColorScheme({
299
+ type: 'perBaseQuality',
300
+ });
389
301
  },
390
302
  },
391
303
  {
392
304
  label: 'Per-base lettering',
393
305
  onClick: () => {
394
- self.setColorScheme({ type: 'perBaseLettering' });
306
+ self.setColorScheme({
307
+ type: 'perBaseLettering',
308
+ });
395
309
  },
396
310
  },
397
311
  {
398
312
  label: 'First-of-pair strand',
399
313
  onClick: () => {
400
- self.setColorScheme({ type: 'stranded' });
314
+ self.setColorScheme({
315
+ type: 'stranded',
316
+ });
401
317
  },
402
318
  },
403
319
  {
@@ -414,9 +330,6 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
414
330
  },
415
331
  ];
416
332
  },
417
- /**
418
- * #method
419
- */
420
333
  trackMenuItems() {
421
334
  return [
422
335
  ...superTrackMenuItems(),
@@ -497,18 +410,20 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
497
410
  const { colorBy, tagsReady } = self;
498
411
  const { staticBlocks } = view;
499
412
  if ((colorBy === null || colorBy === void 0 ? void 0 : colorBy.tag) && !tagsReady) {
500
- const vals = await getUniqueTagValues({
413
+ const vals = await getUniqueTags({
501
414
  self,
502
415
  tag: colorBy.tag,
503
416
  blocks: staticBlocks,
504
417
  });
505
- self.updateColorTagMap(vals);
418
+ if (isAlive(self)) {
419
+ self.updateColorTagMap(vals);
420
+ self.setTagsReady(true);
421
+ }
422
+ }
423
+ else {
424
+ self.setTagsReady(true);
506
425
  }
507
- self.setTagsReady(true);
508
426
  }, { delay: 1000 });
509
- // autorun synchronizes featureUnderMouse with featureIdUnderMouse
510
- // asynchronously. this is needed due to how we do not serialize all
511
- // features from the BAM/CRAM over the rpc
512
427
  addDisposer(self, autorun(async () => {
513
428
  var _a;
514
429
  const session = getSession(self);
@@ -527,11 +442,8 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
527
442
  layoutId: view.id,
528
443
  rendererType: 'PileupRenderer',
529
444
  }));
530
- // check featureIdUnderMouse is still the same as the
531
- // feature.id that was returned e.g. that the user hasn't
532
- // moused over to a new position during the async operation
533
- // above
534
- if (feature &&
445
+ if (isAlive(self) &&
446
+ feature &&
535
447
  self.featureIdUnderMouse === feature.uniqueId) {
536
448
  self.setFeatureUnderMouse(new SimpleFeature(feature));
537
449
  }
@@ -544,5 +456,16 @@ export function SharedLinearPileupDisplayMixin(configSchema) {
544
456
  }
545
457
  }));
546
458
  },
547
- }));
459
+ }))
460
+ .preProcessSnapshot(snap => {
461
+ if (snap) {
462
+ const { colorBy, filterBy, ...rest } = snap;
463
+ return {
464
+ ...rest,
465
+ filterBySetting: filterBy,
466
+ colorBySetting: colorBy,
467
+ };
468
+ }
469
+ return snap;
470
+ });
548
471
  }
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
+ interface Tag {
3
+ type: string;
4
+ tag: string;
5
+ }
2
6
  declare const ColorByTagDialog: ({ model, handleClose, }: {
3
7
  model: {
4
- setColorScheme: (arg: {
5
- type: string;
6
- tag: string;
7
- }) => void;
8
+ setColorScheme: (arg: Tag) => void;
8
9
  };
9
10
  handleClose: () => void;
10
11
  }) => React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from 'react';
2
- import { observer } from 'mobx-react';
3
- import { Button, DialogContent, DialogActions, TextField, Typography, } from '@mui/material';
4
2
  import { Dialog } from '@jbrowse/core/ui';
3
+ import { Button, DialogActions, DialogContent, TextField, Typography, } from '@mui/material';
4
+ import { observer } from 'mobx-react';
5
5
  const ColorByTagDialog = observer(function ({ model, handleClose, }) {
6
6
  const [tag, setTag] = useState('');
7
7
  const validTag = /^[A-Za-z][A-Za-z0-9]$/.exec(tag);
@@ -11,7 +11,9 @@ const ColorByTagDialog = observer(function ({ model, handleClose, }) {
11
11
  React.createElement(Typography, { color: "textSecondary" }, "Examples: XS or TS for RNA-seq inferred read strand, ts (lower-case) for minimap2 read strand, HP for haplotype, RG for read group, etc."),
12
12
  React.createElement(TextField, { value: tag, onChange: event => {
13
13
  setTag(event.target.value);
14
- }, placeholder: "Enter tag name", inputProps: { maxLength: 2 }, error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '', autoComplete: "off" }),
14
+ }, placeholder: "Enter tag name", error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '', autoComplete: "off", slotProps: {
15
+ htmlInput: { maxLength: 2 },
16
+ } }),
15
17
  React.createElement(DialogActions, null,
16
18
  React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
17
19
  model.setColorScheme({ type: 'tag', tag });
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { IAnyStateTreeNode } from 'mobx-state-tree';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
4
4
  declare const GroupByTagDialog: (props: {
5
5
  model: {
6
6
  adapterConfig: AnyConfigurationModel;