@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
@@ -27,116 +27,64 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = require("react");
30
- const mobx_state_tree_1 = require("mobx-state-tree");
31
30
  const configuration_1 = require("@jbrowse/core/configuration");
32
- const tracks_1 = require("@jbrowse/core/util/tracks");
33
31
  const util_1 = require("@jbrowse/core/util");
34
- const shared_1 = require("../shared");
35
- const util_2 = require("../util");
36
- // icons
32
+ const tracks_1 = require("@jbrowse/core/util/tracks");
33
+ const ColorLens_1 = __importDefault(require("@mui/icons-material/ColorLens"));
34
+ const SwapVert_1 = __importDefault(require("@mui/icons-material/SwapVert"));
37
35
  const Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
38
- const Sort_1 = __importDefault(require("@mui/icons-material/Sort"));
39
36
  const Workspaces_1 = __importDefault(require("@mui/icons-material/Workspaces"));
40
- const ColorLens_1 = __importDefault(require("@mui/icons-material/ColorLens"));
41
- // locals
42
- const SharedLinearPileupDisplayMixin_1 = require("./SharedLinearPileupDisplayMixin");
43
37
  const mobx_1 = require("mobx");
44
- // lazies
38
+ const mobx_state_tree_1 = require("mobx-state-tree");
39
+ const SharedLinearPileupDisplayMixin_1 = require("./SharedLinearPileupDisplayMixin");
40
+ const getUniqueModifications_1 = require("../shared/getUniqueModifications");
41
+ const util_2 = require("../util");
45
42
  const SortByTagDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/SortByTagDialog'))));
46
43
  const GroupByDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/GroupByDialog'))));
47
- const ModificationsDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/ColorByModificationsDialog'))));
48
- /**
49
- * #stateModel LinearPileupDisplay
50
- * #category display
51
- * extends
52
- * - [SharedLinearPileupDisplayMixin](../sharedlinearpileupdisplaymixin)
53
- */
54
44
  function stateModelFactory(configSchema) {
55
45
  return mobx_state_tree_1.types
56
46
  .compose('LinearPileupDisplay', (0, SharedLinearPileupDisplayMixin_1.SharedLinearPileupDisplayMixin)(configSchema), mobx_state_tree_1.types.model({
57
- /**
58
- * #property
59
- */
60
47
  type: mobx_state_tree_1.types.literal('LinearPileupDisplay'),
61
- /**
62
- * #property
63
- */
64
48
  configuration: (0, configuration_1.ConfigurationReference)(configSchema),
65
- /**
66
- * #property
67
- */
68
49
  showSoftClipping: false,
69
- /**
70
- * #property
71
- */
72
50
  mismatchAlpha: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
73
- /**
74
- * #property
75
- */
76
- sortedBy: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.model({
77
- type: mobx_state_tree_1.types.string,
78
- pos: mobx_state_tree_1.types.number,
79
- tag: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
80
- refName: mobx_state_tree_1.types.string,
81
- assemblyName: mobx_state_tree_1.types.string,
82
- })),
51
+ sortedBy: mobx_state_tree_1.types.frozen(),
83
52
  }))
84
53
  .volatile(() => ({
85
54
  sortReady: false,
86
55
  currSortBpPerPx: 0,
87
- modificationTagMap: mobx_1.observable.map({}),
56
+ visibleModifications: mobx_1.observable.map({}),
88
57
  modificationsReady: false,
89
58
  }))
90
59
  .actions(self => ({
91
- /**
92
- * #action
93
- */
94
60
  setCurrSortBpPerPx(n) {
95
61
  self.currSortBpPerPx = n;
96
62
  },
97
- /**
98
- * #action
99
- */
100
- updateModificationColorMap(uniqueModifications) {
63
+ updateVisibleModifications(uniqueModifications) {
101
64
  uniqueModifications.forEach(value => {
102
- if (!self.modificationTagMap.has(value)) {
103
- self.modificationTagMap.set(value, util_2.modificationColors[value] || (0, util_2.randomColor)(value));
65
+ if (!self.visibleModifications.has(value.type)) {
66
+ self.visibleModifications.set(value.type, {
67
+ ...value,
68
+ color: (0, util_2.getColorForModification)(value.type),
69
+ });
104
70
  }
105
71
  });
106
72
  },
107
- /**
108
- * #action
109
- */
110
73
  setModificationsReady(flag) {
111
74
  self.modificationsReady = flag;
112
75
  },
113
- /**
114
- * #action
115
- */
116
76
  setSortReady(flag) {
117
77
  self.sortReady = flag;
118
78
  },
119
- /**
120
- * #action
121
- */
122
79
  clearSelected() {
123
80
  self.sortedBy = undefined;
124
81
  },
125
- /**
126
- * #action
127
- */
128
82
  toggleSoftClipping() {
129
83
  self.showSoftClipping = !self.showSoftClipping;
130
84
  },
131
- /**
132
- * #action
133
- */
134
85
  toggleMismatchAlpha() {
135
86
  self.mismatchAlpha = !self.mismatchAlpha;
136
87
  },
137
- /**
138
- * #action
139
- */
140
88
  setSortedBy(type, tag) {
141
89
  const { centerLineInfo } = (0, util_1.getContainingView)(self);
142
90
  if (!centerLineInfo) {
@@ -156,23 +104,14 @@ function stateModelFactory(configSchema) {
156
104
  tag,
157
105
  };
158
106
  },
159
- /**
160
- * #action
161
- * overrides base from SharedLinearPileupDisplay to make sortReady false
162
- * since changing feature height destroys the sort-induced layout
163
- */
164
107
  setFeatureHeight(n) {
165
108
  self.sortReady = false;
166
109
  self.featureHeight = n;
167
110
  },
168
111
  }))
169
112
  .actions(self => {
170
- // resets the sort object and refresh whole display on reload
171
113
  const superReload = self.reload;
172
114
  return {
173
- /**
174
- * #action
175
- */
176
115
  reload() {
177
116
  self.clearSelected();
178
117
  superReload();
@@ -180,9 +119,9 @@ function stateModelFactory(configSchema) {
180
119
  };
181
120
  })
182
121
  .views(self => ({
183
- /**
184
- * #getter
185
- */
122
+ get visibleModificationTypes() {
123
+ return [...self.visibleModifications.keys()];
124
+ },
186
125
  get rendererConfig() {
187
126
  const { featureHeight, noSpacing, trackMaxHeight, mismatchAlpha, rendererTypeName, } = self;
188
127
  const configBlob = (0, configuration_1.getConf)(self, ['renderers', rendererTypeName]) || {};
@@ -200,15 +139,9 @@ function stateModelFactory(configSchema) {
200
139
  .views(self => {
201
140
  const { renderReady: superRenderReady } = self;
202
141
  return {
203
- /**
204
- * #getter
205
- */
206
142
  get mismatchAlphaSetting() {
207
143
  return (0, configuration_1.readConfObject)(self.rendererConfig, 'mismatchAlpha');
208
144
  },
209
- /**
210
- * #method
211
- */
212
145
  renderReady() {
213
146
  const view = (0, util_1.getContainingView)(self);
214
147
  return (self.modificationsReady &&
@@ -220,22 +153,16 @@ function stateModelFactory(configSchema) {
220
153
  .views(self => {
221
154
  const { trackMenuItems: superTrackMenuItems, renderPropsPre: superRenderPropsPre, renderProps: superRenderProps, colorSchemeSubMenuItems: superColorSchemeSubMenuItems, } = self;
222
155
  return {
223
- /**
224
- * #method
225
- */
226
156
  renderPropsPre() {
227
- const { sortedBy, showSoftClipping, modificationTagMap } = self;
157
+ const { sortedBy, showSoftClipping, visibleModifications } = self;
228
158
  const superProps = superRenderPropsPre();
229
159
  return {
230
160
  ...superProps,
231
161
  showSoftClip: showSoftClipping,
232
162
  sortedBy,
233
- modificationTagMap: Object.fromEntries(modificationTagMap.toJSON()),
163
+ visibleModifications: Object.fromEntries(visibleModifications.toJSON()),
234
164
  };
235
165
  },
236
- /**
237
- * #method
238
- */
239
166
  renderProps() {
240
167
  const { sortReady } = self;
241
168
  const result = superRenderProps();
@@ -244,15 +171,12 @@ function stateModelFactory(configSchema) {
244
171
  notReady: result.notReady || !sortReady,
245
172
  };
246
173
  },
247
- /**
248
- * #method
249
- */
250
174
  trackMenuItems() {
251
175
  return [
252
176
  ...superTrackMenuItems(),
253
177
  {
254
178
  label: 'Sort by...',
255
- icon: Sort_1.default,
179
+ icon: SwapVert_1.default,
256
180
  disabled: self.showSoftClipping,
257
181
  subMenu: [
258
182
  ...['Start location', 'Read strand', 'Base pair'].map(option => ({
@@ -288,25 +212,88 @@ function stateModelFactory(configSchema) {
288
212
  {
289
213
  label: 'Pair orientation',
290
214
  onClick: () => {
291
- self.setColorScheme({ type: 'pairOrientation' });
215
+ self.setColorScheme({
216
+ type: 'pairOrientation',
217
+ });
292
218
  },
293
219
  },
294
220
  {
295
- label: 'Modifications or methylation',
296
- onClick: () => {
297
- (0, util_1.getSession)(self).queueDialog(doneCallback => [
298
- ModificationsDialog,
221
+ label: 'Modifications',
222
+ type: 'subMenu',
223
+ subMenu: self.modificationsReady
224
+ ? [
299
225
  {
300
- model: self,
301
- handleClose: doneCallback,
226
+ label: 'All modifications',
227
+ onClick: () => {
228
+ self.setColorScheme({
229
+ type: 'modifications',
230
+ });
231
+ },
302
232
  },
303
- ]);
304
- },
233
+ ...self.visibleModificationTypes.map(key => {
234
+ var _a;
235
+ return ({
236
+ label: `Show only ${((_a = util_2.modificationData[key]) === null || _a === void 0 ? void 0 : _a.name) || key}`,
237
+ onClick: () => {
238
+ self.setColorScheme({
239
+ type: 'modifications',
240
+ modifications: {
241
+ isolatedModification: key,
242
+ },
243
+ });
244
+ },
245
+ });
246
+ }),
247
+ { type: 'divider' },
248
+ {
249
+ label: 'All modifications (<50% prob colored blue)',
250
+ onClick: () => {
251
+ self.setColorScheme({
252
+ type: 'modifications',
253
+ modifications: {
254
+ twoColor: true,
255
+ },
256
+ });
257
+ },
258
+ },
259
+ ...self.visibleModificationTypes.map(key => {
260
+ var _a;
261
+ return ({
262
+ label: `Show only ${((_a = util_2.modificationData[key]) === null || _a === void 0 ? void 0 : _a.name) || key} (<50% prob colored blue)`,
263
+ onClick: () => {
264
+ self.setColorScheme({
265
+ type: 'modifications',
266
+ modifications: {
267
+ isolatedModification: key,
268
+ twoColor: true,
269
+ },
270
+ });
271
+ },
272
+ });
273
+ }),
274
+ { type: 'divider' },
275
+ {
276
+ label: 'All reference CpGs',
277
+ onClick: () => {
278
+ self.setColorScheme({
279
+ type: 'methylation',
280
+ });
281
+ },
282
+ },
283
+ ]
284
+ : [
285
+ {
286
+ label: 'Loading modifications...',
287
+ onClick: () => { },
288
+ },
289
+ ],
305
290
  },
306
291
  {
307
292
  label: 'Insert size',
308
293
  onClick: () => {
309
- self.setColorScheme({ type: 'insertSize' });
294
+ self.setColorScheme({
295
+ type: 'insertSize',
296
+ });
310
297
  },
311
298
  },
312
299
  ...superColorSchemeSubMenuItems(),
@@ -318,7 +305,10 @@ function stateModelFactory(configSchema) {
318
305
  onClick: () => {
319
306
  (0, util_1.getSession)(self).queueDialog(handleClose => [
320
307
  GroupByDialog,
321
- { model: self, handleClose },
308
+ {
309
+ model: self,
310
+ handleClose,
311
+ },
322
312
  ]);
323
313
  },
324
314
  },
@@ -329,8 +319,6 @@ function stateModelFactory(configSchema) {
329
319
  checked: self.showSoftClipping,
330
320
  onClick: () => {
331
321
  self.toggleSoftClipping();
332
- // if toggling from off to on, will break sort for this track
333
- // so clear it
334
322
  if (self.showSoftClipping) {
335
323
  self.clearSelected();
336
324
  }
@@ -368,8 +356,6 @@ function stateModelFactory(configSchema) {
368
356
  if (sortedBy &&
369
357
  (!sortReady || self.currSortBpPerPx === view.bpPerPx)) {
370
358
  const { pos, refName, assemblyName } = sortedBy;
371
- // render just the sorted region first
372
- // @ts-expect-error
373
359
  await self.rendererType.renderInClient(rpcManager, {
374
360
  assemblyName,
375
361
  regions: [
@@ -388,25 +374,25 @@ function stateModelFactory(configSchema) {
388
374
  ...self.renderPropsPre(),
389
375
  });
390
376
  }
391
- self.setCurrSortBpPerPx(bpPerPx);
392
- self.setSortReady(true);
377
+ if ((0, mobx_state_tree_1.isAlive)(self)) {
378
+ self.setCurrSortBpPerPx(bpPerPx);
379
+ self.setSortReady(true);
380
+ }
393
381
  }, { delay: 1000 });
394
382
  (0, util_2.createAutorun)(self, async () => {
395
383
  if (!self.autorunReady) {
396
384
  return;
397
385
  }
398
- const { parentTrack, colorBy } = self;
399
386
  const { staticBlocks } = (0, util_1.getContainingView)(self);
400
- if ((colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'modifications') {
401
- const adapter = (0, configuration_1.getConf)(parentTrack, ['adapter']);
402
- const vals = await (0, shared_1.getUniqueModificationValues)({
403
- self,
404
- adapterConfig: adapter,
405
- blocks: staticBlocks,
406
- });
407
- self.updateModificationColorMap(vals);
387
+ const vals = await (0, getUniqueModifications_1.getUniqueModifications)({
388
+ self,
389
+ adapterConfig: (0, configuration_1.getConf)(self.parentTrack, 'adapter'),
390
+ blocks: staticBlocks,
391
+ });
392
+ if ((0, mobx_state_tree_1.isAlive)(self)) {
393
+ self.updateVisibleModifications(vals);
394
+ self.setModificationsReady(true);
408
395
  }
409
- self.setModificationsReady(true);
410
396
  });
411
397
  },
412
398
  }));
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { LinearReadArcsDisplayModel } from '../model';
2
+ import type { LinearReadArcsDisplayModel } from '../model';
3
3
  declare const LinearReadArcsReactComponent: ({ model, }: {
4
4
  model: LinearReadArcsDisplayModel;
5
5
  }) => React.JSX.Element;
@@ -27,20 +27,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
31
30
  const util_1 = require("@jbrowse/core/util");
32
- const BaseDisplayComponent_1 = __importDefault(require("../../shared/BaseDisplayComponent"));
31
+ const mobx_react_1 = require("mobx-react");
32
+ const BaseDisplayComponent_1 = __importDefault(require("../../shared/components/BaseDisplayComponent"));
33
33
  const Arcs = (0, mobx_react_1.observer)(function ({ model, }) {
34
34
  const view = (0, util_1.getContainingView)(model);
35
35
  const width = Math.round(view.dynamicBlocks.totalWidthPx);
36
36
  const height = model.height;
37
- // biome-ignore lint/correctness/useExhaustiveDependencies:
38
37
  const cb = (0, react_1.useCallback)((ref) => {
39
38
  model.setRef(ref);
40
- },
41
- // eslint-disable-next-line react-hooks/exhaustive-deps
42
- [model, width, height]);
43
- // note: the position absolute below avoids scrollbar from appearing on track
39
+ }, [model, width, height]);
44
40
  return (react_1.default.createElement("canvas", { "data-testid": "arc-canvas", ref: cb, style: { width, height, position: 'absolute' }, width: width * 2, height: height * 2 }));
45
41
  });
46
42
  const LinearReadArcsReactComponent = (0, mobx_react_1.observer)(function ({ model, }) {
@@ -1,40 +1,32 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- /**
3
- * #config LinearReadArcsDisplay
4
- */
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
5
2
  declare function configSchemaF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
6
- /**
7
- * #slot
8
- */
9
3
  maxFeatureScreenDensity: {
10
4
  type: string;
11
5
  description: string;
12
6
  defaultValue: number;
13
7
  };
14
- /**
15
- * #slot
16
- */
17
8
  lineWidth: {
18
9
  type: string;
19
10
  description: string;
20
11
  defaultValue: number;
21
12
  };
22
- /**
23
- * #slot
24
- */
25
13
  jitter: {
26
14
  type: string;
27
15
  description: string;
28
16
  defaultValue: number;
29
17
  };
30
- /**
31
- * #slot
32
- */
33
- colorScheme: {
18
+ colorBy: {
34
19
  type: string;
35
- model: import("mobx-state-tree").ISimpleType<string>;
36
- description: string;
37
- defaultValue: string;
20
+ defaultValue: {
21
+ type: string;
22
+ };
23
+ };
24
+ filterBy: {
25
+ type: string;
26
+ defaultValue: {
27
+ flagInclude: number;
28
+ flagExclude: number;
29
+ };
38
30
  };
39
31
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
40
32
  renderer: import("mobx-state-tree").IAnyModelType;
@@ -2,56 +2,33 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const configuration_1 = require("@jbrowse/core/configuration");
4
4
  const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
5
- const mobx_state_tree_1 = require("mobx-state-tree");
6
- /**
7
- * #config LinearReadArcsDisplay
8
- */
5
+ const util_1 = require("../shared/util");
9
6
  function configSchemaF(pluginManager) {
10
7
  return (0, configuration_1.ConfigurationSchema)('LinearReadArcsDisplay', {
11
- /**
12
- * #slot
13
- */
14
8
  maxFeatureScreenDensity: {
15
9
  type: 'number',
16
10
  description: 'maximum features per pixel that is displayed in the view',
17
11
  defaultValue: 5,
18
12
  },
19
- /**
20
- * #slot
21
- */
22
13
  lineWidth: {
23
14
  type: 'number',
24
15
  description: 'set arc line width',
25
16
  defaultValue: 1,
26
17
  },
27
- /**
28
- * #slot
29
- */
30
18
  jitter: {
31
19
  type: 'number',
32
20
  description: 'jitters the x position so e.g. if many reads map to exact same x position, jittering makes it easy to see that there are many of them',
33
21
  defaultValue: 0,
34
22
  },
35
- /**
36
- * #slot
37
- */
38
- colorScheme: {
39
- type: 'stringEnum',
40
- model: mobx_state_tree_1.types.enumeration('colorScheme', [
41
- 'strand',
42
- 'normal',
43
- 'insertSize',
44
- 'insertSizeAndOrientation',
45
- 'mappingQuality',
46
- 'tag',
47
- ]),
48
- description: 'color scheme to use',
49
- defaultValue: 'normal',
23
+ colorBy: {
24
+ type: 'frozen',
25
+ defaultValue: { type: 'insertSizeAndOrientation' },
26
+ },
27
+ filterBy: {
28
+ type: 'frozen',
29
+ defaultValue: util_1.defaultFilterFlags,
50
30
  },
51
31
  }, {
52
- /**
53
- * #baseConfiguration
54
- */
55
32
  baseConfiguration: (0, plugin_linear_genome_view_1.linearBasicDisplayConfigSchemaFactory)(pluginManager),
56
33
  explicitlyTyped: true,
57
34
  });
@@ -1,2 +1,2 @@
1
- import { LinearReadArcsDisplayModel } from './model';
1
+ import type { LinearReadArcsDisplayModel } from './model';
2
2
  export declare function drawFeats(self: LinearReadArcsDisplayModel, ctx: CanvasRenderingContext2D, width: number, height: number): void;
@@ -2,15 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.drawFeats = drawFeats;
4
4
  const util_1 = require("@jbrowse/core/util");
5
- // locals
6
- const color_1 = require("../shared/color");
7
5
  const MismatchParser_1 = require("../MismatchParser");
6
+ const color_1 = require("../shared/color");
8
7
  const util_2 = require("../shared/util");
9
8
  function jitter(n) {
10
9
  return Math.random() * 2 * n - n;
11
10
  }
12
11
  function drawLineAtOffset(ctx, offset, height, color) {
13
- // draws a vertical line off to middle of nowhere if the second end not found
14
12
  ctx.strokeStyle = color;
15
13
  ctx.beginPath();
16
14
  ctx.moveTo(offset, 0);
@@ -50,9 +48,6 @@ function drawFeats(self, ctx, width, height) {
50
48
  const p = r1 - view.offsetPx;
51
49
  const p2 = r2 - view.offsetPx;
52
50
  const drawArcInsteadOfBezier = absrad > 10000;
53
- // bezier (used for non-long-range arcs) requires moveTo before beginPath
54
- // arc (used for long-range) requires moveTo after beginPath (or else a
55
- // unwanted line at y=0 is rendered along with the arc)
56
51
  if (longRange && drawArcInsteadOfBezier) {
57
52
  ctx.moveTo(p, 0);
58
53
  ctx.beginPath();
@@ -100,8 +95,6 @@ function drawFeats(self, ctx, width, height) {
100
95
  const destX = p + radius * 2;
101
96
  const destY = Math.min(height + jitter(jitterVal), absrad);
102
97
  if (longRange) {
103
- // avoid drawing gigantic circles that glitch out the rendering,
104
- // instead draw vertical lines
105
98
  if (absrad > 100000) {
106
99
  drawLineAtOffset(ctx, p + jitter(jitterVal), height, 'red');
107
100
  drawLineAtOffset(ctx, p2 + jitter(jitterVal), height, 'red');
@@ -125,7 +118,6 @@ function drawFeats(self, ctx, width, height) {
125
118
  }
126
119
  }
127
120
  for (const chain of chains) {
128
- // chain.length === 1, singleton (other pairs/mates not in view)
129
121
  if (chain.length === 1 && drawLongRange) {
130
122
  const f = chain[0];
131
123
  if (hasPaired && !(f.flags & 8)) {
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function register(pluginManager: PluginManager): void;
@@ -27,11 +27,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.default = register;
30
+ const react_1 = require("react");
30
31
  const DisplayType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
31
- // locals
32
32
  const configSchema_1 = __importDefault(require("./configSchema"));
33
33
  const model_1 = __importDefault(require("./model"));
34
- const react_1 = require("react");
35
34
  function register(pluginManager) {
36
35
  pluginManager.addDisplayType(() => {
37
36
  const configSchema = (0, configSchema_1.default)(pluginManager);