@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,9 +1,7 @@
1
1
  import React from 'react';
2
- import { SimpleFeatureSerialized } from '@jbrowse/core/util';
3
- import { ViewType } from '@jbrowse/core/pluggableElementTypes';
4
- import { AlignmentFeatureWidgetModel } from './stateModelFactory';
5
- export default function LaunchBreakpointSplitViewPanel({ model, feature, viewType, }: {
2
+ import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
+ import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
+ export default function LaunchBreakpointSplitViewPanel({ model, feature, }: {
6
5
  model: AlignmentFeatureWidgetModel;
7
6
  feature: SimpleFeatureSerialized;
8
- viewType: ViewType;
9
7
  }): React.JSX.Element | null;
@@ -1,18 +1,15 @@
1
1
  import React, { lazy, useEffect, useState } from 'react';
2
- import { Typography, Link } from '@mui/material';
3
- import { SimpleFeature, getSession, toLocale, } from '@jbrowse/core/util';
4
2
  import { ErrorMessage } from '@jbrowse/core/ui';
3
+ import { SimpleFeature, getSession, toLocale } from '@jbrowse/core/util';
4
+ import { Link, Typography } from '@mui/material';
5
5
  import { getSAFeatures } from './getSAFeatures';
6
- // lazies
7
6
  const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
8
7
  const BreakendSingleLevelOptionDialog = lazy(() => import('./BreakendSingleLevelOptionDialog'));
9
- export default function LaunchBreakpointSplitViewPanel({ model, feature, viewType, }) {
10
- const session = getSession(model);
8
+ export default function LaunchBreakpointSplitViewPanel({ model, feature, }) {
11
9
  const { view } = model;
12
10
  const [res, setRes] = useState();
13
11
  const [error, setError] = useState();
14
12
  useEffect(() => {
15
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
16
13
  ;
17
14
  (async () => {
18
15
  try {
@@ -49,36 +46,40 @@ export default function LaunchBreakpointSplitViewPanel({ model, feature, viewTyp
49
46
  ":",
50
47
  toLocale(f2.strand === 1 ? f2.start : f2.end),
51
48
  ' ',
52
- React.createElement(Link, { href: "#", onClick: event => {
53
- event.preventDefault();
54
- session.queueDialog(handleClose => [
55
- BreakendMultiLevelOptionDialog,
56
- {
57
- handleClose,
58
- model,
59
- feature: new SimpleFeature({ ...f1, mate: f2 }),
60
- // @ts-expect-error
61
- viewType,
62
- view: model.view,
63
- assemblyName: model.view.displayedRegions[0].assemblyName,
64
- },
65
- ]);
66
- } }, "(top/bottom)"),
49
+ React.createElement(TopBottomSplitViewLink, { model: model, f1: f1, f2: f2 }),
67
50
  ' ',
68
- React.createElement(Link, { href: "#", onClick: event => {
69
- event.preventDefault();
70
- session.queueDialog(handleClose => [
71
- BreakendSingleLevelOptionDialog,
72
- {
73
- handleClose,
74
- model,
75
- feature: new SimpleFeature({ ...f1, mate: f2 }),
76
- // @ts-expect-error
77
- viewType,
78
- view: model.view,
79
- assemblyName: model.view.displayedRegions[0].assemblyName,
80
- },
81
- ]);
82
- } }, "(single row)")));
51
+ React.createElement(SideBySideViewLink, { model: model, f1: f1, f2: f2 })));
83
52
  })))) : null;
84
53
  }
54
+ function TopBottomSplitViewLink({ model, f1, f2, }) {
55
+ return (React.createElement(Link, { href: "#", onClick: event => {
56
+ event.preventDefault();
57
+ const session = getSession(model);
58
+ session.queueDialog(handleClose => [
59
+ BreakendMultiLevelOptionDialog,
60
+ {
61
+ handleClose,
62
+ session,
63
+ feature: new SimpleFeature({ ...f1, mate: f2 }),
64
+ view: model.view,
65
+ assemblyName: model.view.displayedRegions[0].assemblyName,
66
+ },
67
+ ]);
68
+ } }, "(top/bottom)"));
69
+ }
70
+ function SideBySideViewLink({ model, f1, f2, }) {
71
+ return (React.createElement(Link, { href: "#", onClick: event => {
72
+ event.preventDefault();
73
+ const session = getSession(model);
74
+ session.queueDialog(handleClose => [
75
+ BreakendSingleLevelOptionDialog,
76
+ {
77
+ handleClose,
78
+ session,
79
+ feature: new SimpleFeature({ ...f1, mate: f2 }),
80
+ view: model.view,
81
+ assemblyName: model.view.displayedRegions[0].assemblyName,
82
+ },
83
+ ]);
84
+ } }, "(single row)"));
85
+ }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { SimpleFeatureSerialized } from '@jbrowse/core/util';
3
- import { AlignmentFeatureWidgetModel } from './stateModelFactory';
2
+ import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
+ import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
4
  export default function SuppAlignments(props: {
5
5
  model: AlignmentFeatureWidgetModel;
6
6
  feature: SimpleFeatureSerialized;
@@ -6,12 +6,11 @@ export default function SuppAlignments(props) {
6
6
  const { model, feature } = props;
7
7
  const session = getSession(model);
8
8
  const { pluginManager } = getEnv(session);
9
- let viewType;
9
+ let hasBreakendSplitView = false;
10
10
  try {
11
- viewType = pluginManager.getViewType('BreakpointSplitView');
11
+ hasBreakendSplitView = !!pluginManager.getViewType('BreakpointSplitView');
12
12
  }
13
13
  catch (e) {
14
- // ignore
15
14
  }
16
- return (React.createElement(BaseCard, { ...props, title: "Supplementary alignments" }, viewType ? (React.createElement(LaunchPairedEndBreakpointSplitViewPanel, { viewType: viewType, model: model, feature: feature })) : null));
15
+ return (React.createElement(BaseCard, { ...props, title: "Paired alignments" }, hasBreakendSplitView ? (React.createElement(LaunchPairedEndBreakpointSplitViewPanel, { model: model, feature: feature })) : null));
17
16
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { AlignmentFeatureWidgetModel } from './stateModelFactory';
2
+ import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
3
  export default function PairLink({ locString, model, }: {
4
4
  locString: string;
5
5
  model: AlignmentFeatureWidgetModel;
@@ -4,7 +4,6 @@ import { navToLoc } from './util';
4
4
  export default function PairLink({ locString, model, }) {
5
5
  return (React.createElement(Link, { onClick: event => {
6
6
  event.preventDefault();
7
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
8
7
  navToLoc(locString, model);
9
8
  }, href: "#" }, locString));
10
9
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { SimpleFeatureSerialized } from '@jbrowse/core/util';
3
- import { AlignmentFeatureWidgetModel } from './stateModelFactory';
2
+ import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
+ import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
4
  export default function SupplementaryAlignments(props: {
5
5
  tag: string;
6
6
  model: AlignmentFeatureWidgetModel;
@@ -1,20 +1,19 @@
1
1
  import React from 'react';
2
- import { getEnv, getSession } from '@jbrowse/core/util';
3
2
  import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
4
- import SupplementaryAlignmentsLocStrings from './SupplementaryAlignmentsLocStrings';
3
+ import { getEnv, getSession } from '@jbrowse/core/util';
5
4
  import LaunchBreakpointSplitViewPanel from './LaunchSupplementaryAlignmentBreakpointSplitViewPanel';
5
+ import SupplementaryAlignmentsLocStrings from './SupplementaryAlignmentsLocStrings';
6
6
  export default function SupplementaryAlignments(props) {
7
7
  const { model, tag, feature } = props;
8
8
  const session = getSession(model);
9
9
  const { pluginManager } = getEnv(session);
10
- let viewType;
10
+ let hasBreakendSplitView = false;
11
11
  try {
12
- viewType = pluginManager.getViewType('BreakpointSplitView');
12
+ hasBreakendSplitView = !!pluginManager.getViewType('BreakpointSplitView');
13
13
  }
14
14
  catch (e) {
15
- // ignore
16
15
  }
17
16
  return (React.createElement(BaseCard, { ...props, title: "Supplementary alignments" },
18
17
  React.createElement(SupplementaryAlignmentsLocStrings, { model: model, tag: tag }),
19
- viewType ? (React.createElement(LaunchBreakpointSplitViewPanel, { viewType: viewType, model: model, feature: feature })) : null));
18
+ hasBreakendSplitView ? (React.createElement(LaunchBreakpointSplitViewPanel, { model: model, feature: feature })) : null));
20
19
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { AlignmentFeatureWidgetModel } from './stateModelFactory';
2
+ import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
3
  export default function SupplementaryAlignmentsLocStrings({ tag, model, }: {
4
4
  tag: string;
5
5
  model: AlignmentFeatureWidgetModel;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { Typography, Link } from '@mui/material';
3
- // locals
2
+ import { Link, Typography } from '@mui/material';
4
3
  import { getLengthOnRef } from '../MismatchParser';
5
4
  import { navToLoc } from './util';
6
5
  export default function SupplementaryAlignmentsLocStrings({ tag, model, }) {
@@ -21,12 +20,9 @@ export default function SupplementaryAlignmentsLocStrings({ tag, model, }) {
21
20
  const displayStart = start.toLocaleString('en-US');
22
21
  const displayEnd = end.toLocaleString('en-US');
23
22
  const displayString = `${saRef}:${displayStart}-${displayEnd} (${saStrand}) [${saLength}bp]`;
24
- return (
25
- /* biome-ignore lint/suspicious/noArrayIndexKey: */
26
- React.createElement("li", { key: `${locString}-${idx}` },
23
+ return (React.createElement("li", { key: `${locString}-${idx}` },
27
24
  React.createElement(Link, { href: "#", onClick: async (event) => {
28
25
  event.preventDefault();
29
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
30
26
  navToLoc(locString, model);
31
27
  } }, displayString)));
32
28
  }))));
@@ -1,5 +1,5 @@
1
- import { Feature } from '@jbrowse/core/util';
2
- import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
1
+ import type { Feature } from '@jbrowse/core/util';
2
+ import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
3
3
  export interface ReducedFeature {
4
4
  refName: string;
5
5
  start: number;
@@ -1,17 +1,13 @@
1
1
  import { getSession } from '@jbrowse/core/util';
2
- // locals
3
2
  import { featurizeSA, getClip, getLengthSansClipping } from '../MismatchParser';
4
- import { getTag } from '../util';
5
3
  export async function getSAFeatures({ view, feature, }) {
4
+ var _a;
6
5
  const { assemblyManager } = getSession(view);
7
6
  const cigar = feature.get('CIGAR');
8
7
  const origStrand = feature.get('strand');
9
- const SA = getTag(feature, 'SA') || '';
8
+ const SA = ((_a = feature.get('tags')) === null || _a === void 0 ? void 0 : _a.SA) || '';
10
9
  const readName = feature.get('name');
11
10
  const clipPos = getClip(cigar, 1);
12
- // get the canonical refname for the read because if the read.get('refName')
13
- // is chr1 and the actual fasta refName is 1 then no tracks can be opened on
14
- // the top panel of the linear read vs ref
15
11
  const assembly = await assemblyManager.waitForAssembly(view.assemblyNames[0]);
16
12
  if (!assembly) {
17
13
  throw new Error('assembly not found');
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function AlignmentFeatureDetailsF(pluginManager: PluginManager): void;
@@ -1,5 +1,5 @@
1
- import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
2
- import { ReducedFeature } from './getSAFeatures';
1
+ import type { ReducedFeature } from './getSAFeatures';
2
+ import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
3
3
  export declare function getBreakpointSplitView({ f1, f2, view, }: {
4
4
  f1: ReducedFeature;
5
5
  f2: ReducedFeature;
@@ -1,5 +1,5 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- import { Instance } from 'mobx-state-tree';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ import type { Instance } from 'mobx-state-tree';
3
3
  export declare function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
4
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
5
  type: import("mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
@@ -92,8 +92,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
92
92
  trackId: string | undefined;
93
93
  trackType: string | undefined;
94
94
  maxDepth: number | undefined;
95
- formattedFields: any;
96
95
  sequenceFeatureDetails: import("mobx-state-tree").ModelSnapshotType<{}>;
96
+ formattedFields: any;
97
97
  finalizedFeatureData: any;
98
98
  } & import("mobx-state-tree")._NotCustomized>;
99
99
  export type AlignmentFeatureWidgetStateModel = ReturnType<typeof stateModelFactory>;
@@ -1,5 +1,5 @@
1
- import { types } from 'mobx-state-tree';
2
1
  import { stateModelFactory as baseModelFactory } from '@jbrowse/core/BaseFeatureWidget';
2
+ import { types } from 'mobx-state-tree';
3
3
  export function stateModelFactory(pluginManager) {
4
4
  const baseModel = baseModelFactory(pluginManager);
5
5
  return types.compose(baseModel, types.model('AlignmentsFeatureWidget', {
@@ -17,7 +17,7 @@ export const tags = {
17
17
  E2: 'The 2nd most likely base calls',
18
18
  FI: 'The index of segment in the template',
19
19
  FS: 'Segment suffix',
20
- FZ: 'Flow signal intensities',
20
+ FZ: 'Flow stopToken intensities',
21
21
  GC: 'Reserved for backwards compatibility reasons',
22
22
  GQ: 'Reserved for backwards compatibility reasons',
23
23
  GS: 'Reserved for backwards compatibility reasons',
@@ -1,4 +1,4 @@
1
- import { IAnyStateTreeNode } from 'mobx-state-tree';
1
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
2
2
  export declare function getTag(tag: string, feat: {
3
3
  tags?: Record<string, unknown>;
4
4
  [key: string]: unknown;
@@ -1,4 +1,4 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function configSchemaFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
3
  name: {
4
4
  description: string;
@@ -1,15 +1,8 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes';
3
- /**
4
- * #config AlignmentsTrack
5
- * has very little config; most config and state logic is on the display
6
- */
7
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ function x() { }
8
4
  export default function configSchemaFactory(pluginManager) {
9
5
  return ConfigurationSchema('AlignmentsTrack', {}, {
10
- /**
11
- * #baseConfiguration
12
- */
13
6
  baseConfiguration: createBaseTrackConfig(pluginManager),
14
7
  });
15
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(pm: PluginManager): void;
@@ -11,9 +11,6 @@ export default function register(pm) {
11
11
  stateModel: createBaseTrackModel(pm, 'AlignmentsTrack', configSchema),
12
12
  });
13
13
  const linearAlignmentsDisplay = pm.getDisplayType('LinearAlignmentsDisplay');
14
- // Add LinearAlignmentsDisplay here so that it has priority over the other
15
- // linear displays (defaults to order the displays are added, but we have
16
- // to add the Pileup and SNPCoverage displays first).
17
14
  track.addDisplayType(linearAlignmentsDisplay);
18
15
  return track;
19
16
  });
@@ -1,8 +1,9 @@
1
1
  import { BamFile } from '@gmod/bam';
2
- import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
3
- import { Region } from '@jbrowse/core/util/types';
4
- import { Feature } from '@jbrowse/core/util';
5
- import { IFilter } from '../shared';
2
+ import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
+ import type { FilterBy } from '../shared/types';
4
+ import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
5
+ import type { Feature } from '@jbrowse/core/util';
6
+ import type { Region } from '@jbrowse/core/util/types';
6
7
  interface Header {
7
8
  idToName: string[];
8
9
  nameToId: Record<string, number>;
@@ -10,6 +11,7 @@ interface Header {
10
11
  export default class BamAdapter extends BaseFeatureDataAdapter {
11
12
  private samHeader?;
12
13
  private setupP?;
14
+ private ultraLongFeatureCache;
13
15
  private configureP?;
14
16
  protected configurePre(): Promise<{
15
17
  bam: BamFile;
@@ -22,7 +24,7 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
22
24
  bam: BamFile;
23
25
  sequenceAdapter?: BaseFeatureDataAdapter;
24
26
  }>;
25
- getHeader(opts?: BaseOptions): Promise<string | undefined>;
27
+ getHeader(_opts?: BaseOptions): Promise<string | undefined>;
26
28
  private setupPre;
27
29
  setup(opts?: BaseOptions): Promise<Header>;
28
30
  getRefNames(opts?: BaseOptions): Promise<string[]>;
@@ -30,7 +32,7 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
30
32
  getFeatures(region: Region & {
31
33
  originalRefName?: string;
32
34
  }, opts?: BaseOptions & {
33
- filterBy: IFilter;
35
+ filterBy: FilterBy;
34
36
  }): import("rxjs").Observable<Feature>;
35
37
  getMultiRegionFeatureDensityStats(regions: Region[], opts?: BaseOptions): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats | {
36
38
  bytes: number;
@@ -1,15 +1,21 @@
1
1
  import { BamFile } from '@gmod/bam';
2
- import { BaseFeatureDataAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
3
  import { bytesForRegions, updateStatus } from '@jbrowse/core/util';
4
+ import QuickLRU from '@jbrowse/core/util/QuickLRU';
4
5
  import { openLocation } from '@jbrowse/core/util/io';
5
6
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
6
- import { toArray } from 'rxjs/operators';
7
+ import { checkStopToken } from '@jbrowse/core/util/stopToken';
7
8
  import { firstValueFrom } from 'rxjs';
8
- // locals
9
+ import { toArray } from 'rxjs/operators';
9
10
  import BamSlightlyLazyFeature from './BamSlightlyLazyFeature';
11
+ import { filterReadFlag, filterTagValue } from '../shared/util';
10
12
  export default class BamAdapter extends BaseFeatureDataAdapter {
11
- // derived classes may not use the same configuration so a custom configure
12
- // method allows derived classes to override this behavior
13
+ constructor() {
14
+ super(...arguments);
15
+ this.ultraLongFeatureCache = new QuickLRU({
16
+ maxSize: 500,
17
+ });
18
+ }
13
19
  async configurePre() {
14
20
  const bamLocation = this.getConf('bamLocation');
15
21
  const location = this.getConf(['index', 'location']);
@@ -41,23 +47,20 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
41
47
  }
42
48
  return this.configureP;
43
49
  }
44
- async getHeader(opts) {
50
+ async getHeader(_opts) {
45
51
  const { bam } = await this.configure();
46
- return bam.getHeaderText(opts);
52
+ return bam.getHeaderText();
47
53
  }
48
54
  async setupPre(opts) {
49
55
  const { statusCallback = () => { } } = opts || {};
50
56
  const { bam } = await this.configure();
51
57
  this.samHeader = await updateStatus('Downloading index', statusCallback, async () => {
52
- const samHeader = await bam.getHeader(opts);
53
- // use the @SQ lines in the header to figure out the
54
- // mapping between ref ref ID numbers and names
58
+ const samHeader = await bam.getHeader();
55
59
  const idToName = [];
56
60
  const nameToId = {};
57
61
  samHeader === null || samHeader === void 0 ? void 0 : samHeader.filter(l => l.tag === 'SQ').forEach((sqLine, refId) => {
58
62
  const SN = sqLine.data.find(item => item.tag === 'SN');
59
63
  if (SN) {
60
- // this is the ref name
61
64
  const refName = SN.value;
62
65
  nameToId[refName] = refId;
63
66
  idToName[refId] = refName;
@@ -115,43 +118,46 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
115
118
  }
116
119
  getFeatures(region, opts) {
117
120
  const { refName, start, end, originalRefName } = region;
118
- const { signal, filterBy, statusCallback = () => { } } = opts || {};
121
+ const { stopToken, filterBy, statusCallback = () => { } } = opts || {};
119
122
  return ObservableCreate(async (observer) => {
120
123
  const { bam } = await this.configure();
121
124
  await this.setup(opts);
122
- const records = await updateStatus('Downloading alignments', statusCallback, () => bam.getRecordsForRange(refName, start, end, opts));
125
+ checkStopToken(stopToken);
126
+ const records = await updateStatus('Downloading alignments', statusCallback, () => bam.getRecordsForRange(refName, start, end));
127
+ checkStopToken(stopToken);
123
128
  await updateStatus('Processing alignments', statusCallback, async () => {
124
129
  const { flagInclude = 0, flagExclude = 0, tagFilter, readName, } = filterBy || {};
125
130
  for (const record of records) {
126
131
  let ref;
127
- if (!record.get('MD')) {
128
- ref = await this.seqFetch(originalRefName || refName, record.get('start'), record.get('end'));
132
+ if (!record.tags.MD) {
133
+ ref = await this.seqFetch(originalRefName || refName, record.start, record.end);
129
134
  }
130
- const flags = record.flags;
131
- if ((flags & flagInclude) !== flagInclude && !(flags & flagExclude)) {
135
+ if (filterReadFlag(record.flags, flagInclude, flagExclude)) {
132
136
  continue;
133
137
  }
134
- if (tagFilter) {
135
- const readVal = record.get(tagFilter.tag);
136
- const filterVal = tagFilter.value;
137
- if (filterVal === '*'
138
- ? readVal !== undefined
139
- : `${readVal}` !== `${filterVal}`) {
140
- continue;
141
- }
138
+ if (tagFilter &&
139
+ filterTagValue(record.tags[tagFilter.tag], tagFilter.value)) {
140
+ continue;
142
141
  }
143
- if (readName && record.get('name') !== readName) {
142
+ if (readName && record.name !== readName) {
144
143
  continue;
145
144
  }
146
- observer.next(new BamSlightlyLazyFeature(record, this, ref));
145
+ const ret = this.ultraLongFeatureCache.get(`${record.id}`);
146
+ if (!ret) {
147
+ const elt = new BamSlightlyLazyFeature(record, this, ref);
148
+ this.ultraLongFeatureCache.set(`${record.id}`, elt);
149
+ observer.next(elt);
150
+ }
151
+ else {
152
+ observer.next(ret);
153
+ }
147
154
  }
148
155
  observer.complete();
149
156
  });
150
- }, signal);
157
+ });
151
158
  }
152
159
  async getMultiRegionFeatureDensityStats(regions, opts) {
153
160
  const { bam } = await this.configure();
154
- // this is a method to avoid calling on htsget adapters
155
161
  if (bam.index) {
156
162
  const bytes = await bytesForRegions(regions, bam);
157
163
  const fetchSizeLimit = this.getConf('fetchSizeLimit');
@@ -159,8 +165,7 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
159
165
  }
160
166
  return super.getMultiRegionFeatureDensityStats(regions, opts);
161
167
  }
162
- freeResources( /* { region } */) { }
163
- // depends on setup being called before the BAM constructor
168
+ freeResources() { }
164
169
  refIdToName(refId) {
165
170
  var _a;
166
171
  return (_a = this.samHeader) === null || _a === void 0 ? void 0 : _a.idToName[refId];
@@ -1,31 +1,17 @@
1
- import { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util/simpleFeature';
2
- import { BamRecord } from '@gmod/bam';
3
- import BamAdapter from './BamAdapter';
1
+ import type BamAdapter from './BamAdapter';
2
+ import type { BamRecord } from '@gmod/bam';
3
+ import type { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util/simpleFeature';
4
4
  export default class BamSlightlyLazyFeature implements Feature {
5
5
  private record;
6
6
  private adapter;
7
7
  private ref?;
8
8
  constructor(record: BamRecord, adapter: BamAdapter, ref?: string | undefined);
9
- _get_name(): any;
10
- _get_type(): string;
11
- _get_score(): number;
12
- _get_flags(): string;
13
- _get_strand(): number;
14
- _get_pair_orientation(): string | undefined;
15
- _get_next_ref(): string | undefined;
16
- _get_next_pos(): number | undefined;
17
- _get_next_segment_position(): string | undefined;
18
- _get_seq(): string;
19
- qualRaw(): Buffer | undefined;
20
- set(): void;
21
- tags(): string[];
22
9
  id(): string;
10
+ get mismatches(): import("../shared/types").Mismatch[];
11
+ get qual(): string | undefined;
23
12
  get(field: string): any;
24
- _get_refName(): string | undefined;
25
13
  parent(): undefined;
26
14
  children(): undefined;
27
- pairedFeature(): boolean;
15
+ get fields(): SimpleFeatureSerialized;
28
16
  toJSON(): SimpleFeatureSerialized;
29
- _get_mismatches(): import("../MismatchParser").Mismatch[];
30
- _get_clipPos(): number;
31
17
  }