@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,9 @@
1
1
  import React from 'react';
2
- import { IFilter } from '.';
2
+ import type { FilterBy } from '../types';
3
3
  declare const FilterByTagDialog: (props: {
4
4
  model: {
5
- filterBy: IFilter;
6
- setFilterBy: (arg: IFilter) => void;
5
+ filterBy: FilterBy;
6
+ setFilterBy: (arg: FilterBy) => void;
7
7
  };
8
8
  handleClose: () => void;
9
9
  }) => React.JSX.Element;
@@ -24,9 +24,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
- const mobx_react_1 = require("mobx-react");
28
- const material_1 = require("@mui/material");
29
27
  const ui_1 = require("@jbrowse/core/ui");
28
+ const material_1 = require("@mui/material");
29
+ const mobx_react_1 = require("mobx-react");
30
30
  const mui_1 = require("tss-react/mui");
31
31
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
32
32
  paper: {
@@ -103,7 +103,11 @@ const FilterByTagDialog = (0, mobx_react_1.observer)(function (props) {
103
103
  react_1.default.createElement(material_1.Typography, null, "Filter by tag name and value. Use * in the value field to get all reads containing any value for that tag. Example: filter tag name SA with value * to get all split/supplementary reads. Other examples include HP for haplotype, or RG for read group"),
104
104
  react_1.default.createElement(material_1.TextField, { className: classes.field, value: tag, onChange: event => {
105
105
  setTag(event.target.value);
106
- }, placeholder: "Enter tag name", inputProps: { maxLength: 2 }, error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '' }),
106
+ }, placeholder: "Enter tag name", error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '', slotProps: {
107
+ htmlInput: {
108
+ maxLength: 2,
109
+ },
110
+ } }),
107
111
  react_1.default.createElement(material_1.TextField, { className: classes.field, value: tagValue, onChange: event => {
108
112
  setTagValue(event.target.value);
109
113
  }, placeholder: "Enter tag value" })),
@@ -1,5 +1,5 @@
1
- import { LinearReadArcsDisplayModel } from '../LinearReadArcsDisplay/model';
2
- import { LinearReadCloudDisplayModel } from '../LinearReadCloudDisplay/model';
1
+ import type { LinearReadArcsDisplayModel } from '../LinearReadArcsDisplay/model';
2
+ import type { LinearReadCloudDisplayModel } from '../LinearReadCloudDisplay/model';
3
3
  export interface ReducedFeature {
4
4
  name: string;
5
5
  strand: number;
@@ -2,20 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchChains = fetchChains;
4
4
  const util_1 = require("@jbrowse/core/util");
5
- const mobx_state_tree_1 = require("mobx-state-tree");
6
5
  async function fetchChains(self) {
7
- // @ts-expect-error
8
6
  const { rpcSessionId: sessionId } = (0, util_1.getContainingTrack)(self);
9
7
  const { rpcManager } = (0, util_1.getSession)(self);
10
8
  const view = (0, util_1.getContainingView)(self);
11
- if (!view.initialized || self.error || self.regionTooLarge) {
9
+ if (!view.initialized || self.error || !self.statsReadyAndRegionNotTooLarge) {
12
10
  return;
13
11
  }
14
12
  self.setLoading(true);
15
13
  const ret = (await rpcManager.call(sessionId, 'PileupGetReducedFeatures', {
16
14
  sessionId,
17
15
  regions: view.staticBlocks.contentBlocks,
18
- filterBy: (0, mobx_state_tree_1.getSnapshot)(self.filterBy),
16
+ filterBy: self.filterBy,
19
17
  adapterConfig: self.adapterConfig,
20
18
  }));
21
19
  self.setChainData(ret);
@@ -0,0 +1,8 @@
1
+ import type { Feature } from '@jbrowse/core/util';
2
+ interface MaximumProbabilityMod {
3
+ type: string;
4
+ prob: number;
5
+ allProbs: number[];
6
+ }
7
+ export declare function getMaxProbModAtEachPosition(feature: Feature, cigarOps?: string[]): MaximumProbabilityMod[] | undefined;
8
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxProbModAtEachPosition = getMaxProbModAtEachPosition;
4
+ const MismatchParser_1 = require("../MismatchParser");
5
+ const ModificationParser_1 = require("../ModificationParser");
6
+ const util_1 = require("../util");
7
+ function getMaxProbModAtEachPosition(feature, cigarOps) {
8
+ const fstrand = feature.get('strand');
9
+ const seq = feature.get('seq');
10
+ const mm = (0, util_1.getTagAlt)(feature, 'MM', 'Mm') || '';
11
+ const ops = cigarOps || (0, MismatchParser_1.parseCigar)(feature.get('CIGAR'));
12
+ if (seq) {
13
+ const modifications = (0, ModificationParser_1.getModPositions)(mm, seq, fstrand);
14
+ const probabilities = (0, ModificationParser_1.getModProbabilities)(feature);
15
+ const maxProbModForPosition = [];
16
+ let probIndex = 0;
17
+ for (const { type, positions } of modifications) {
18
+ for (const { ref, idx } of (0, MismatchParser_1.getNextRefPos)(ops, positions)) {
19
+ const prob = (probabilities === null || probabilities === void 0 ? void 0 : probabilities[probIndex + (fstrand === -1 ? positions.length - 1 - idx : idx)]) || 0;
20
+ if (!maxProbModForPosition[ref]) {
21
+ maxProbModForPosition[ref] = {
22
+ type,
23
+ prob,
24
+ allProbs: [prob],
25
+ };
26
+ }
27
+ else {
28
+ const old = maxProbModForPosition[ref];
29
+ maxProbModForPosition[ref] = {
30
+ allProbs: [...old.allProbs, prob],
31
+ prob: Math.max(old.prob, prob),
32
+ type: old.prob > prob ? old.type : type,
33
+ };
34
+ }
35
+ }
36
+ probIndex += positions.length;
37
+ }
38
+ return maxProbModForPosition;
39
+ }
40
+ return undefined;
41
+ }
@@ -0,0 +1,14 @@
1
+ import type { ModificationType } from './types';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { BlockSet } from '@jbrowse/core/util/blockTypes';
4
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
5
+ export declare function getUniqueModifications({ self, adapterConfig, blocks, opts, }: {
6
+ self: IAnyStateTreeNode;
7
+ adapterConfig: AnyConfigurationModel;
8
+ blocks: BlockSet;
9
+ opts?: {
10
+ headers?: Record<string, string>;
11
+ stopToken?: string;
12
+ filters: string[];
13
+ };
14
+ }): Promise<ModificationType[]>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUniqueModifications = getUniqueModifications;
4
+ const util_1 = require("@jbrowse/core/util");
5
+ const tracks_1 = require("@jbrowse/core/util/tracks");
6
+ async function getUniqueModifications({ self, adapterConfig, blocks, opts, }) {
7
+ const { rpcManager } = (0, util_1.getSession)(self);
8
+ const sessionId = (0, tracks_1.getRpcSessionId)(self);
9
+ const values = await rpcManager.call(sessionId, 'PileupGetVisibleModifications', {
10
+ adapterConfig,
11
+ sessionId,
12
+ regions: blocks.contentBlocks,
13
+ ...opts,
14
+ });
15
+ return values;
16
+ }
@@ -0,0 +1,15 @@
1
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import type { BlockSet } from '@jbrowse/core/util/blockTypes';
3
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
4
+ export declare function getUniqueTags({ self, tag, blocks, opts, }: {
5
+ self: IAnyStateTreeNode & {
6
+ adapterConfig: AnyConfigurationModel;
7
+ };
8
+ tag: string;
9
+ blocks: BlockSet;
10
+ opts?: {
11
+ headers?: Record<string, string>;
12
+ stopToken?: string;
13
+ filters: string[];
14
+ };
15
+ }): Promise<string[]>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUniqueTags = getUniqueTags;
4
+ const util_1 = require("@jbrowse/core/util");
5
+ const tracks_1 = require("@jbrowse/core/util/tracks");
6
+ async function getUniqueTags({ self, tag, blocks, opts, }) {
7
+ const { rpcManager } = (0, util_1.getSession)(self);
8
+ const { adapterConfig } = self;
9
+ const sessionId = (0, tracks_1.getRpcSessionId)(self);
10
+ const values = await rpcManager.call((0, tracks_1.getRpcSessionId)(self), 'PileupGetGlobalValueForTag', {
11
+ adapterConfig,
12
+ tag,
13
+ sessionId,
14
+ regions: blocks.contentBlocks,
15
+ ...opts,
16
+ });
17
+ return values;
18
+ }
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.renderSvg = renderSvg;
30
30
  const react_1 = __importDefault(require("react"));
31
31
  const util_1 = require("@jbrowse/core/util");
32
- // stabilize clipid under test for snapshot
33
32
  function getId(id) {
34
33
  const isJest = typeof jest === 'undefined';
35
34
  return `arc-clip-${isJest ? id : 'jest'}`;
@@ -51,7 +50,6 @@ async function renderSvg(self, opts, cb) {
51
50
  return (react_1.default.createElement("image", { width: width, height: height, xlinkHref: canvas.toDataURL('image/png') }));
52
51
  }
53
52
  else {
54
- // @ts-ignore
55
53
  const C2S = await Promise.resolve().then(() => __importStar(require('canvas2svg')));
56
54
  const ctx = new C2S.default(width, height);
57
55
  cb(self, ctx, width, height);
@@ -0,0 +1,94 @@
1
+ export type SkipMap = Record<string, {
2
+ score: number;
3
+ feature: unknown;
4
+ start: number;
5
+ end: number;
6
+ strand: number;
7
+ effectiveStrand: number;
8
+ }>;
9
+ export interface BinEntry {
10
+ entryDepth: number;
11
+ '-1': number;
12
+ '0': number;
13
+ '1': number;
14
+ avgProbability?: number;
15
+ }
16
+ type BinType = Record<string, BinEntry>;
17
+ export interface BaseCoverageBin {
18
+ refbase?: string;
19
+ depth: number;
20
+ readsCounted: number;
21
+ ref: BinEntry;
22
+ snps: BinType;
23
+ mods: BinType;
24
+ nonmods: BinType;
25
+ delskips: BinType;
26
+ noncov: BinType;
27
+ }
28
+ export interface PreBinEntry {
29
+ entryDepth: number;
30
+ '-1': number;
31
+ '0': number;
32
+ '1': number;
33
+ probabilities: number[];
34
+ }
35
+ type PreBinType = Record<string, PreBinEntry>;
36
+ export interface PreBaseCoverageBin extends PreBaseCoverageBinSubtypes {
37
+ refbase?: string;
38
+ depth: number;
39
+ readsCounted: number;
40
+ ref: PreBinEntry;
41
+ }
42
+ export interface PreBaseCoverageBinSubtypes {
43
+ snps: PreBinType;
44
+ mods: PreBinType;
45
+ nonmods: PreBinType;
46
+ delskips: PreBinType;
47
+ noncov: PreBinType;
48
+ }
49
+ export interface ModificationType {
50
+ type: string;
51
+ base: string;
52
+ strand: string;
53
+ }
54
+ export interface ModificationTypeWithColor {
55
+ color: string;
56
+ type: string;
57
+ base: string;
58
+ strand: string;
59
+ }
60
+ export interface ColorBy {
61
+ type: string;
62
+ tag?: string;
63
+ modifications?: {
64
+ twoColor?: boolean;
65
+ isolatedModification?: string;
66
+ };
67
+ }
68
+ export interface FilterBy {
69
+ flagExclude: number;
70
+ flagInclude: number;
71
+ readName?: string;
72
+ tagFilter?: {
73
+ tag: string;
74
+ value?: string;
75
+ };
76
+ }
77
+ export interface SortedBy {
78
+ type: string;
79
+ pos: number;
80
+ refName: string;
81
+ assemblyName: string;
82
+ tag?: string;
83
+ }
84
+ export interface Mismatch {
85
+ qual?: number;
86
+ start: number;
87
+ length: number;
88
+ type: string;
89
+ base: string;
90
+ altbase?: string;
91
+ seq?: string;
92
+ cliplen?: number;
93
+ }
94
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +1,20 @@
1
- import { ChainData } from './fetchChains';
1
+ import type { ChainData } from './fetchChains';
2
2
  export declare function hasPairedReads(features: ChainData): boolean;
3
+ export declare function alphaColor(baseColor: string, p: number): string;
4
+ export declare const defaultFilterFlags: {
5
+ flagInclude: number;
6
+ flagExclude: number;
7
+ };
8
+ export declare const negFlags: {
9
+ flagInclude: number;
10
+ flagExclude: number;
11
+ };
12
+ export declare const posFlags: {
13
+ flagInclude: number;
14
+ flagExclude: number;
15
+ };
16
+ export declare function cacheGetter<T>(ctor: {
17
+ prototype: T;
18
+ }, prop: keyof T): void;
19
+ export declare function filterReadFlag(flags: number, flagInclude: number, flagExclude: number): boolean;
20
+ export declare function filterTagValue(readVal: unknown, filterVal?: string): boolean;
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.posFlags = exports.negFlags = exports.defaultFilterFlags = void 0;
3
4
  exports.hasPairedReads = hasPairedReads;
5
+ exports.alphaColor = alphaColor;
6
+ exports.cacheGetter = cacheGetter;
7
+ exports.filterReadFlag = filterReadFlag;
8
+ exports.filterTagValue = filterTagValue;
9
+ const colord_1 = require("@jbrowse/core/util/colord");
4
10
  function hasPairedReads(features) {
5
11
  for (const f of features.chains.values()) {
6
12
  if (f[0].flags & 1) {
@@ -9,3 +15,49 @@ function hasPairedReads(features) {
9
15
  }
10
16
  return false;
11
17
  }
18
+ function alphaColor(baseColor, p) {
19
+ return p !== 1
20
+ ? (0, colord_1.colord)(baseColor)
21
+ .alpha(p * p)
22
+ .toHslString()
23
+ : baseColor;
24
+ }
25
+ exports.defaultFilterFlags = {
26
+ flagInclude: 0,
27
+ flagExclude: 1540,
28
+ };
29
+ exports.negFlags = {
30
+ flagInclude: 16,
31
+ flagExclude: 1540,
32
+ };
33
+ exports.posFlags = {
34
+ flagInclude: 0,
35
+ flagExclude: 1556,
36
+ };
37
+ function cacheGetter(ctor, prop) {
38
+ const desc = Object.getOwnPropertyDescriptor(ctor.prototype, prop);
39
+ const getter = desc.get;
40
+ Object.defineProperty(ctor.prototype, prop, {
41
+ get() {
42
+ const ret = getter.call(this);
43
+ Object.defineProperty(this, prop, { value: ret });
44
+ return ret;
45
+ },
46
+ });
47
+ }
48
+ function filterReadFlag(flags, flagInclude, flagExclude) {
49
+ if ((flags & flagInclude) !== flagInclude) {
50
+ return true;
51
+ }
52
+ else if (flags & flagExclude) {
53
+ return true;
54
+ }
55
+ else {
56
+ return false;
57
+ }
58
+ }
59
+ function filterTagValue(readVal, filterVal) {
60
+ return filterVal === '*'
61
+ ? readVal === undefined
62
+ : `${readVal}` !== `${filterVal}`;
63
+ }
package/dist/util.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
- import { Feature, AugmentedRegion } from '@jbrowse/core/util';
3
- import { IAnyStateTreeNode } from 'mobx-state-tree';
4
- import { IAutorunOptions } from 'mobx';
5
- export declare function getTag(feature: Feature, tag: string): any;
1
+ import type { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import type { AugmentedRegion, Feature } from '@jbrowse/core/util';
3
+ import type { IAutorunOptions } from 'mobx';
4
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
6
5
  export declare function getTagAlt(feature: Feature, tag: string, alt: string): any;
7
6
  export declare const orientationTypes: {
8
7
  fr: Record<string, string>;
@@ -17,11 +16,15 @@ export declare const pairMap: {
17
16
  };
18
17
  export declare function getColorWGBS(strand: number, base: string): "#f00" | "#00f" | "#888";
19
18
  export declare function fetchSequence(region: AugmentedRegion, adapter: BaseFeatureDataAdapter): Promise<any>;
20
- export declare function shouldFetchReferenceSequence(type?: string): type is "methylation";
21
- export declare const modificationColors: Record<string, string>;
19
+ interface ModificationData {
20
+ color: string;
21
+ name: string;
22
+ }
23
+ export declare const modificationData: Record<string, ModificationData>;
22
24
  type DisplayModel = IAnyStateTreeNode & {
23
25
  setError: (arg: unknown) => void;
24
26
  };
25
27
  export declare function createAutorun(self: DisplayModel, cb: () => Promise<void>, opts?: IAutorunOptions): void;
26
28
  export declare function randomColor(str: string): string;
29
+ export declare function getColorForModification(str: string): string;
27
30
  export {};
package/dist/util.js CHANGED
@@ -1,31 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.modificationColors = exports.pairMap = exports.orientationTypes = void 0;
4
- exports.getTag = getTag;
3
+ exports.modificationData = exports.pairMap = exports.orientationTypes = void 0;
5
4
  exports.getTagAlt = getTagAlt;
6
5
  exports.getColorWGBS = getColorWGBS;
7
6
  exports.fetchSequence = fetchSequence;
8
- exports.shouldFetchReferenceSequence = shouldFetchReferenceSequence;
9
7
  exports.createAutorun = createAutorun;
10
8
  exports.randomColor = randomColor;
11
- const operators_1 = require("rxjs/operators");
12
- const rxjs_1 = require("rxjs");
13
- const mobx_state_tree_1 = require("mobx-state-tree");
9
+ exports.getColorForModification = getColorForModification;
14
10
  const mobx_1 = require("mobx");
15
- // get tag from BAM or CRAM feature, where CRAM uses feature.get('tags') and
16
- // BAM does not
17
- function getTag(feature, tag) {
18
- const tags = feature.get('tags');
19
- return tags !== undefined ? tags[tag] : feature.get(tag);
20
- }
21
- // use fallback alt tag, used in situations where upper case/lower case tags
22
- // exist e.g. Mm/MM for base modifications
11
+ const mobx_state_tree_1 = require("mobx-state-tree");
12
+ const rxjs_1 = require("rxjs");
13
+ const operators_1 = require("rxjs/operators");
23
14
  function getTagAlt(feature, tag, alt) {
24
15
  var _a;
25
- return (_a = getTag(feature, tag)) !== null && _a !== void 0 ? _a : getTag(feature, alt);
16
+ const tags = feature.get('tags');
17
+ return (_a = tags[tag]) !== null && _a !== void 0 ? _a : tags[alt];
26
18
  }
27
- // orientation definitions from igv.js, see also
28
- // https://software.broadinstitute.org/software/igv/interpreting_pair_orientations
29
19
  exports.orientationTypes = {
30
20
  fr: {
31
21
  F1R2: 'LR',
@@ -83,8 +73,6 @@ function getColorWGBS(strand, base) {
83
73
  }
84
74
  return '#888';
85
75
  }
86
- // fetches region sequence augmenting by +/- 1bp for CpG on either side of
87
- // requested region
88
76
  async function fetchSequence(region, adapter) {
89
77
  var _a;
90
78
  const { start, end, originalRefName, refName } = region;
@@ -92,28 +80,25 @@ async function fetchSequence(region, adapter) {
92
80
  .getFeatures({
93
81
  ...region,
94
82
  refName: originalRefName || refName,
95
- end: end + 1,
96
- start: Math.max(0, start - 1),
83
+ end,
84
+ start,
97
85
  })
98
86
  .pipe((0, operators_1.toArray)()));
99
87
  return (_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq');
100
88
  }
101
- // has to check underlying C-G (aka CpG) on the reference sequence
102
- function shouldFetchReferenceSequence(type) {
103
- return type === 'methylation';
104
- }
105
- // adapted from IGV
106
- // https://github.com/igvteam/igv/blob/e803e3af2d8c9ea049961dfd4628146bdde9a574/src/main/java/org/broad/igv/sam/mods/BaseModificationColors.java#L27
107
- exports.modificationColors = {
108
- m: 'rgb(255,0,0)',
109
- h: 'rgb(11, 132, 165)',
110
- o: 'rgb(111, 78, 129)',
111
- f: 'rgb(246, 200, 95)',
112
- c: 'rgb(157, 216, 102)',
113
- g: 'rgb(255, 160, 86)',
114
- e: 'rgb(141, 221, 208)',
115
- b: 'rgb(202, 71, 47)',
116
- a: 'hsl(136, 50%, 50%)',
89
+ exports.modificationData = {
90
+ m: { color: 'rgb(255,0,0)', name: '5mC' },
91
+ h: { color: 'rgb(255,0,255)', name: '5hmC' },
92
+ o: { color: 'rgb(111, 78, 129)', name: '8oxoG' },
93
+ f: { color: 'rgb(246, 200, 95)', name: '5fC' },
94
+ c: { color: 'rgb(157, 216, 102)', name: '5cac' },
95
+ g: { color: 'rgb(255, 160, 86)', name: '5hmu' },
96
+ e: { color: 'rgb(141, 221, 208)', name: '5fU' },
97
+ b: { color: 'rgb(0,100,47)', name: '5caU' },
98
+ a: { color: 'rgb(51,0,111)', name: '6mA' },
99
+ 17082: { color: 'rgb(51,153,255)', name: 'pseU' },
100
+ 17596: { color: 'rgb(102,153,0)', name: 'inosine' },
101
+ 21839: { color: 'rgb(153,0,153)', name: '4mC' },
117
102
  };
118
103
  function createAutorun(self, cb, opts) {
119
104
  (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(async () => {
@@ -134,3 +119,7 @@ function randomColor(str) {
134
119
  }
135
120
  return `hsl(${sum * 10}, 20%, 50%)`;
136
121
  }
122
+ function getColorForModification(str) {
123
+ var _a;
124
+ return ((_a = exports.modificationData[str]) === null || _a === void 0 ? void 0 : _a.color) || randomColor(str);
125
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { AlignmentFeatureWidgetModel } from './stateModelFactory';
2
+ import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
3
  declare const AlignmentsFeatureDetails: (props: {
4
4
  model: AlignmentFeatureWidgetModel;
5
5
  }) => React.JSX.Element;
@@ -1,29 +1,22 @@
1
1
  import React, { lazy } from 'react';
2
+ import FeatureDetails from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails';
2
3
  import { Paper } from '@mui/material';
3
4
  import { observer } from 'mobx-react';
4
- import clone from 'clone';
5
- import FeatureDetails from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails';
6
- // locals
7
- import { getTag } from './util';
8
- import { tags } from './tagInfo';
9
- // local components
10
5
  import Flags from './Flags';
11
- import PairLink from './PairLink';
12
6
  import Formatter from './Formatter';
13
- // lazies
7
+ import PairLink from './PairLink';
8
+ import { tags } from './tagInfo';
9
+ import { getTag } from './util';
14
10
  const SupplementaryAlignments = lazy(() => import('./SupplementaryAlignments'));
15
11
  const LinkedPairedAlignments = lazy(() => import('./LinkedPairedAlignments'));
16
- const omit = ['clipPos', 'flags'];
17
12
  const AlignmentsFeatureDetails = observer(function (props) {
18
13
  const { model } = props;
19
14
  const { featureData } = model;
20
- const feat = clone(featureData);
15
+ const feat = structuredClone(featureData);
21
16
  const SA = getTag('SA', feat);
22
17
  const { flags } = feat;
23
18
  return (React.createElement(Paper, { "data-testid": "alignment-side-drawer" },
24
- React.createElement(FeatureDetails, { ...props, omit: omit,
25
- // @ts-expect-error
26
- descriptions: { ...tags, tags: tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (React.createElement(PairLink, { model: model, locString: value })) : (React.createElement(Formatter, { value: value })) }),
19
+ React.createElement(FeatureDetails, { ...props, descriptions: { tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (React.createElement(PairLink, { model: model, locString: value })) : (React.createElement(Formatter, { value: value })) }),
27
20
  SA !== undefined ? (React.createElement(SupplementaryAlignments, { model: model, tag: SA, feature: feat })) : null,
28
21
  flags & 1 ? (React.createElement(LinkedPairedAlignments, { model: model, feature: feat })) : null,
29
22
  flags !== undefined ? React.createElement(Flags, { feature: feat, ...props }) : null));
@@ -1,2 +1 @@
1
- // re-exported for react lazy
2
1
  export { BreakendMultiLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -1,2 +1 @@
1
- // re-exported for react lazy
2
1
  export { BreakendSingleLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { Checkbox, FormControlLabel, FormGroup } from '@mui/material';
3
- import { makeStyles } from 'tss-react/mui';
4
2
  import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
5
3
  import SimpleField from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/SimpleField';
4
+ import { Checkbox, FormControlLabel, FormGroup } from '@mui/material';
5
+ import { makeStyles } from 'tss-react/mui';
6
6
  const useStyles = makeStyles()({
7
7
  compact: {
8
8
  paddingRight: 0,
@@ -1,8 +1,5 @@
1
1
  import React, { useState } from 'react';
2
2
  import copy from 'copy-to-clipboard';
3
- // this 'show more...' used specifically as a formatter on alignments feature
4
- // details because long SEQ or CRAM files, even a single div full of a ton of
5
- // data from a long read, can slow down the rest of the app
6
3
  export default function Formatter({ value }) {
7
4
  const [show, setShow] = useState(false);
8
5
  const [copied, setCopied] = useState(false);
@@ -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 LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }: {
2
+ import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
+ import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
+ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, }: {
6
5
  model: AlignmentFeatureWidgetModel;
7
6
  feature: SimpleFeatureSerialized;
8
- viewType: ViewType;
9
7
  }): React.JSX.Element;
@@ -1,10 +1,9 @@
1
1
  import React, { lazy } from 'react';
2
- import { Typography, Link } from '@mui/material';
3
- import { SimpleFeature, getSession, toLocale, } from '@jbrowse/core/util';
4
- // lazies
2
+ import { SimpleFeature, getSession, toLocale } from '@jbrowse/core/util';
3
+ import { Link, Typography } from '@mui/material';
5
4
  const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
6
5
  const BreakendSingleLevelOptionDialog = lazy(() => import('./BreakendSingleLevelOptionDialog'));
7
- export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }) {
6
+ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, }) {
8
7
  const session = getSession(model);
9
8
  const f1 = {
10
9
  uniqueId: feature.uniqueId,
@@ -38,10 +37,8 @@ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature
38
37
  BreakendMultiLevelOptionDialog,
39
38
  {
40
39
  handleClose,
41
- model,
40
+ session,
42
41
  feature: new SimpleFeature({ ...f1, mate: f2 }),
43
- // @ts-expect-error
44
- viewType,
45
42
  view: model.view,
46
43
  assemblyName: model.view.displayedRegions[0].assemblyName,
47
44
  },
@@ -54,10 +51,8 @@ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature
54
51
  BreakendSingleLevelOptionDialog,
55
52
  {
56
53
  handleClose,
57
- model,
54
+ session,
58
55
  feature: new SimpleFeature({ ...f1, mate: f2 }),
59
- // @ts-expect-error
60
- viewType,
61
56
  view: model.view,
62
57
  assemblyName: model.view.displayedRegions[0].assemblyName,
63
58
  },