@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,12 +1,10 @@
1
1
  import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
2
2
  import { dedupe, groupBy } from '@jbrowse/core/util';
3
- import { toArray } from 'rxjs/operators';
4
3
  import { firstValueFrom } from 'rxjs';
5
- // locals
6
- import { filterForPairs, getInsertSizeStats } from '../util';
4
+ import { toArray } from 'rxjs/operators';
5
+ import { getClip } from '../../MismatchParser';
7
6
  import PileupBaseRPC from '../base';
8
- import { getTag } from '../../util';
9
- // specialized get features to return limited data about alignments
7
+ import { filterForPairs, getInsertSizeStats } from '../util';
10
8
  export default class PileupGetReducedFeatures extends PileupBaseRPC {
11
9
  constructor() {
12
10
  super(...arguments);
@@ -17,21 +15,24 @@ export default class PileupGetReducedFeatures extends PileupBaseRPC {
17
15
  const { adapterConfig, sessionId, regions } = des;
18
16
  const dataAdapter = (await getAdapter(this.pluginManager, sessionId, adapterConfig)).dataAdapter;
19
17
  const featuresArray = await firstValueFrom(dataAdapter.getFeaturesInMultipleRegions(regions, des).pipe(toArray()));
20
- const reduced = dedupe(featuresArray.map(f => ({
21
- id: f.id(),
22
- refName: f.get('refName'),
23
- name: f.get('name'),
24
- start: f.get('start'),
25
- strand: f.get('strand'),
26
- end: f.get('end'),
27
- flags: f.get('flags'),
28
- tlen: f.get('template_length'),
29
- pair_orientation: f.get('pair_orientation'),
30
- next_ref: f.get('next_ref'),
31
- next_pos: f.get('next_pos'),
32
- clipPos: f.get('clipPos'),
33
- SA: getTag(f, 'SA'),
34
- })), f => f.id);
18
+ const reduced = dedupe(featuresArray.map(f => {
19
+ var _a;
20
+ return ({
21
+ id: f.id(),
22
+ refName: f.get('refName'),
23
+ name: f.get('name'),
24
+ start: f.get('start'),
25
+ strand: f.get('strand'),
26
+ end: f.get('end'),
27
+ flags: f.get('flags'),
28
+ tlen: f.get('template_length'),
29
+ pair_orientation: f.get('pair_orientation'),
30
+ next_ref: f.get('next_ref'),
31
+ next_pos: f.get('next_pos'),
32
+ clipPos: getClip(f.get('CIGAR'), f.get('strand')),
33
+ SA: (_a = f.get('tags')) === null || _a === void 0 ? void 0 : _a.SA,
34
+ });
35
+ }), f => f.id);
35
36
  const filtered = filterForPairs(reduced);
36
37
  const stats = filtered.length ? getInsertSizeStats(filtered) : undefined;
37
38
  const chains = groupBy(reduced, f => f.name);
@@ -1,14 +1,14 @@
1
- import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals';
2
- import { Region } from '@jbrowse/core/util';
3
1
  import PileupBaseRPC from '../base';
2
+ import type { ModificationType } from '../../shared/types';
3
+ import type { Region } from '@jbrowse/core/util';
4
4
  export default class PileupGetVisibleModifications extends PileupBaseRPC {
5
5
  name: string;
6
6
  execute(args: {
7
7
  adapterConfig: Record<string, unknown>;
8
- signal?: RemoteAbortSignal;
8
+ stopToken?: string;
9
9
  headers?: Record<string, string>;
10
10
  regions: Region[];
11
11
  sessionId: string;
12
12
  tag: string;
13
- }, rpcDriver: string): Promise<string[]>;
13
+ }, rpcDriver: string): Promise<ModificationType[]>;
14
14
  }
@@ -1,10 +1,9 @@
1
1
  import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
2
- import { toArray } from 'rxjs/operators';
3
2
  import { firstValueFrom } from 'rxjs';
4
- // locals
5
- import { getModificationTypes } from '../../MismatchParser';
6
- import PileupBaseRPC from '../base';
3
+ import { toArray } from 'rxjs/operators';
4
+ import { getModTypes } from '../../ModificationParser';
7
5
  import { getTagAlt } from '../../util';
6
+ import PileupBaseRPC from '../base';
8
7
  export default class PileupGetVisibleModifications extends PileupBaseRPC {
9
8
  constructor() {
10
9
  super(...arguments);
@@ -14,10 +13,14 @@ export default class PileupGetVisibleModifications extends PileupBaseRPC {
14
13
  const { adapterConfig, sessionId, regions } = await this.deserializeArguments(args, rpcDriver);
15
14
  const dataAdapter = (await getAdapter(this.pluginManager, sessionId, adapterConfig)).dataAdapter;
16
15
  const featuresArray = await firstValueFrom(dataAdapter.getFeaturesInMultipleRegions(regions).pipe(toArray()));
17
- const uniqueValues = new Set();
16
+ const uniqueModifications = new Map();
18
17
  featuresArray.forEach(f => {
19
- getModificationTypes(getTagAlt(f, 'MM', 'Mm') || '').forEach(t => uniqueValues.add(t));
18
+ for (const mod of getModTypes(getTagAlt(f, 'MM', 'Mm') || '')) {
19
+ if (!uniqueModifications.has(mod.type)) {
20
+ uniqueModifications.set(mod.type, mod);
21
+ }
22
+ }
20
23
  });
21
- return [...uniqueValues];
24
+ return [...uniqueModifications.values()];
22
25
  }
23
26
  }
@@ -1,4 +1,4 @@
1
- import { ReducedFeature } from '../shared/fetchChains';
1
+ import type { ReducedFeature } from '../shared/fetchChains';
2
2
  export declare function getInsertSizeStats(features: ReducedFeature[]): {
3
3
  upper: number;
4
4
  lower: number;
@@ -1,28 +1,29 @@
1
1
  import { LayoutSession } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
2
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
- import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
4
- import GranularRectLayout from '@jbrowse/core/util/layouts/GranularRectLayout';
5
- import MultiLayout from '@jbrowse/core/util/layouts/MultiLayout';
2
+ import type { FilterBy, SortedBy } from '../shared/types';
3
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
+ import type SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
5
+ import type GranularRectLayout from '@jbrowse/core/util/layouts/GranularRectLayout';
6
+ import type MultiLayout from '@jbrowse/core/util/layouts/MultiLayout';
6
7
  export interface PileupLayoutSessionProps {
7
8
  config: AnyConfigurationModel;
8
9
  bpPerPx: number;
9
10
  filters: SerializableFilterChain;
10
- filterBy: unknown;
11
- sortedBy: unknown;
12
- showSoftClip: unknown;
11
+ filterBy: FilterBy;
12
+ sortedBy: SortedBy;
13
+ showSoftClip: boolean;
13
14
  }
14
15
  type MyMultiLayout = MultiLayout<GranularRectLayout<unknown>, unknown>;
15
16
  interface CachedPileupLayout {
16
17
  layout: MyMultiLayout;
17
18
  config: AnyConfigurationModel;
18
19
  filters?: SerializableFilterChain;
19
- filterBy: unknown;
20
- sortedBy: unknown;
20
+ filterBy?: FilterBy;
21
+ sortedBy?: SortedBy;
21
22
  showSoftClip: boolean;
22
23
  }
23
24
  export declare class PileupLayoutSession extends LayoutSession {
24
- sortedBy: unknown;
25
- filterBy: unknown;
25
+ sortedBy?: SortedBy;
26
+ filterBy?: FilterBy;
26
27
  showSoftClip: boolean;
27
28
  constructor(args: PileupLayoutSessionProps);
28
29
  cachedLayoutIsValid(cachedLayout: CachedPileupLayout): boolean;
@@ -1,9 +1,6 @@
1
- import deepEqual from 'fast-deep-equal';
2
- import { LayoutSession } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
3
1
  import { readConfObject } from '@jbrowse/core/configuration';
4
- // The pileup layout session adds
5
- // - sorting and revealing soft clip changes the layout of pileup renderer
6
- // - extra conditions to see if cached layout is valid
2
+ import { LayoutSession } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
3
+ import deepEqual from 'fast-deep-equal';
7
4
  export class PileupLayoutSession extends LayoutSession {
8
5
  constructor(args) {
9
6
  super(args);
@@ -1,37 +1,16 @@
1
- import BoxRendererType, { RenderArgsDeserialized as BoxRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
2
- import { Feature, Region } from '@jbrowse/core/util';
3
- import { BaseLayout } from '@jbrowse/core/util/layouts/BaseLayout';
4
- import { PileupLayoutSession, PileupLayoutSessionProps } from './PileupLayoutSession';
5
- export interface RenderArgsDeserialized extends BoxRenderArgsDeserialized {
6
- colorBy?: {
7
- type: string;
8
- tag?: string;
9
- };
10
- colorTagMap?: Record<string, string>;
11
- modificationTagMap?: Record<string, string>;
12
- sortedBy?: {
13
- type: string;
14
- pos: number;
15
- refName: string;
16
- assemblyName: string;
17
- tag?: string;
18
- };
19
- showSoftClip: boolean;
20
- highResolutionScaling: number;
21
- }
22
- export interface RenderArgsDeserializedWithFeaturesAndLayout extends RenderArgsDeserialized {
23
- features: Map<string, Feature>;
24
- layout: BaseLayout<Feature>;
25
- regionSequence?: string;
26
- }
1
+ import BoxRendererType from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
2
+ import { PileupLayoutSession } from './PileupLayoutSession';
3
+ import type { PileupLayoutSessionProps } from './PileupLayoutSession';
4
+ import type { RenderArgsDeserialized } from './types';
5
+ import type { Region } from '@jbrowse/core/util';
27
6
  export default class PileupRenderer extends BoxRendererType {
28
7
  supportsSVG: boolean;
29
- fetchSequence(renderProps: RenderArgsDeserialized): Promise<any>;
8
+ fetchSequence(renderProps: RenderArgsDeserialized, region: Region): Promise<any>;
30
9
  getExpandedRegion(region: Region, renderArgs: RenderArgsDeserialized): {
31
10
  start: number;
32
11
  end: number;
33
- refName: string;
34
12
  reversed?: boolean | undefined;
13
+ refName: string;
35
14
  assemblyName: string;
36
15
  };
37
16
  render(renderProps: RenderArgsDeserialized): Promise<{
@@ -40,6 +19,7 @@ export default class PileupRenderer extends BoxRendererType {
40
19
  height: number;
41
20
  width: number;
42
21
  maxHeightReached: boolean;
22
+ containsNoTransferables: boolean;
43
23
  canvasRecordedData: any;
44
24
  reactElement?: import("react").ReactElement;
45
25
  html?: string;
@@ -49,6 +29,7 @@ export default class PileupRenderer extends BoxRendererType {
49
29
  height: number;
50
30
  width: number;
51
31
  maxHeightReached: boolean;
32
+ containsNoTransferables: boolean;
52
33
  reactElement: React.JSX.Element;
53
34
  html?: string;
54
35
  } | {
@@ -57,10 +38,11 @@ export default class PileupRenderer extends BoxRendererType {
57
38
  height: number;
58
39
  width: number;
59
40
  maxHeightReached: boolean;
41
+ containsNoTransferables: boolean;
60
42
  imageData: any;
61
43
  reactElement?: import("react").ReactElement;
62
44
  html?: string;
63
45
  }>;
64
46
  createSession(args: PileupLayoutSessionProps): PileupLayoutSession;
65
47
  }
66
- export { type RenderArgs, type RenderResults, type RenderArgsSerialized, type ResultsSerialized, type ResultsDeserialized, } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
48
+ export type { RenderArgs, RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
@@ -1,26 +1,27 @@
1
- import BoxRendererType from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
2
- import { notEmpty, renderToAbstractCanvas, } from '@jbrowse/core/util';
3
1
  import { readConfObject } from '@jbrowse/core/configuration';
4
2
  import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
5
- import { PileupLayoutSession, } from './PileupLayoutSession';
6
- // locals
7
- import { fetchSequence, shouldFetchReferenceSequence } from '../util';
3
+ import BoxRendererType from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
4
+ import { renderToAbstractCanvas } from '@jbrowse/core/util';
5
+ import { PileupLayoutSession } from './PileupLayoutSession';
6
+ import { fetchSequence } from '../util';
8
7
  import { layoutFeats } from './layoutFeatures';
9
8
  export default class PileupRenderer extends BoxRendererType {
10
9
  constructor() {
11
10
  super(...arguments);
12
11
  this.supportsSVG = true;
13
12
  }
14
- async fetchSequence(renderProps) {
15
- const { sessionId, regions, adapterConfig } = renderProps;
13
+ async fetchSequence(renderProps, region) {
14
+ const { sessionId, adapterConfig } = renderProps;
16
15
  const { sequenceAdapter } = adapterConfig;
17
16
  if (!sequenceAdapter) {
18
17
  return undefined;
19
18
  }
20
- const pm = this.pluginManager;
21
- const { dataAdapter } = await getAdapter(pm, sessionId, sequenceAdapter);
22
- const region = regions[0];
23
- return fetchSequence(region, dataAdapter);
19
+ const { dataAdapter } = await getAdapter(this.pluginManager, sessionId, sequenceAdapter);
20
+ return fetchSequence({
21
+ ...region,
22
+ start: Math.max(0, region.start - 1),
23
+ end: region.end + 1,
24
+ }, dataAdapter);
24
25
  }
25
26
  getExpandedRegion(region, renderArgs) {
26
27
  const { config, showSoftClip } = renderArgs;
@@ -28,35 +29,30 @@ export default class PileupRenderer extends BoxRendererType {
28
29
  const maxClippingSize = readConfObject(config, 'maxClippingSize');
29
30
  const bpExpansion = showSoftClip ? Math.round(maxClippingSize) : 0;
30
31
  return {
31
- // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
32
32
  ...region,
33
33
  start: Math.floor(Math.max(start - bpExpansion, 0)),
34
34
  end: Math.ceil(end + bpExpansion),
35
35
  };
36
36
  }
37
37
  async render(renderProps) {
38
- var _a;
39
38
  const features = await this.getFeatures(renderProps);
40
39
  const layout = this.createLayoutInWorker(renderProps);
41
- const { regions, bpPerPx } = renderProps;
40
+ const { colorBy, regions, bpPerPx } = renderProps;
42
41
  const region = regions[0];
43
- const layoutRecords = layoutFeats({
42
+ const regionSequence = (colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'methylation' && features.size
43
+ ? await this.fetchSequence(renderProps, region)
44
+ : undefined;
45
+ const { layoutRecords, height } = layoutFeats({
44
46
  ...renderProps,
45
47
  features,
46
48
  layout,
47
49
  });
48
- // only need reference sequence if there are features and only for some
49
- // cases
50
- const regionSequence = features.size && shouldFetchReferenceSequence((_a = renderProps.colorBy) === null || _a === void 0 ? void 0 : _a.type)
51
- ? await this.fetchSequence(renderProps)
52
- : undefined;
53
50
  const width = (region.end - region.start) / bpPerPx;
54
- const height = Math.max(layout.getTotalHeight(), 1);
55
51
  const { makeImageData } = await import('./makeImageData');
56
52
  const res = await renderToAbstractCanvas(width, height, renderProps, ctx => {
57
53
  makeImageData({
58
54
  ctx,
59
- layoutRecords: layoutRecords.filter(notEmpty),
55
+ layoutRecords,
60
56
  canvasWidth: width,
61
57
  renderArgs: {
62
58
  ...renderProps,
@@ -83,6 +79,7 @@ export default class PileupRenderer extends BoxRendererType {
83
79
  height,
84
80
  width,
85
81
  maxHeightReached: layout.maxHeightReached,
82
+ containsNoTransferables: true,
86
83
  };
87
84
  }
88
85
  createSession(args) {
@@ -1,5 +1,5 @@
1
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
- import { Feature } from '@jbrowse/core/util';
1
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import type { Feature } from '@jbrowse/core/util';
3
3
  export declare function colorByInsertSize(feature: Feature): string;
4
4
  export declare function colorByMappingQuality(feature: Feature): string;
5
5
  export declare function colorByStrand(feature: Feature): "#EC8B8B" | "#8F8FD8";
@@ -1,4 +1,4 @@
1
- import { readConfObject, } from '@jbrowse/core/configuration';
1
+ import { readConfObject } from '@jbrowse/core/configuration';
2
2
  import { fillColor } from '../shared/color';
3
3
  import { orientationTypes } from '../util';
4
4
  export function colorByInsertSize(feature) {
@@ -30,27 +30,21 @@ export function colorByOrientation(feature, config) {
30
30
  function getStranded(feature) {
31
31
  const flags = feature.get('flags');
32
32
  const strand = feature.get('strand');
33
- // is paired
34
33
  if (flags & 1) {
35
- // first-of-pair?
36
34
  const flipper = flags & 64 ? -1 : 1;
37
- // proper pairing
38
35
  if (flags & 2) {
39
36
  return strand * flipper === 1 ? 'color_rev_strand' : 'color_fwd_strand';
40
37
  }
41
- // mate missing, separate color
42
38
  if (flags & 8) {
43
39
  return strand * flipper === 1
44
40
  ? 'color_rev_missing_mate'
45
41
  : 'color_fwd_missing_mate';
46
42
  }
47
- // same chrom without proper pairing gets separate color
48
43
  if (feature.get('refName') === feature.get('next_ref')) {
49
44
  return strand * flipper === 1
50
45
  ? 'color_rev_strand_not_proper'
51
46
  : 'color_fwd_strand_not_proper';
52
47
  }
53
- // abberant chrom
54
48
  return strand === 1 ? 'color_fwd_diff_chr' : 'color_rev_diff_chr';
55
49
  }
56
50
  return 'color_unknown';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Region } from '@jbrowse/core/util/types';
2
+ import type { Region } from '@jbrowse/core/util/types';
3
3
  import type { BaseLinearDisplayModel } from '@jbrowse/plugin-linear-genome-view';
4
4
  declare const PileupRendering: (props: {
5
5
  blockKey: string;
@@ -1,4 +1,4 @@
1
- import React, { useRef, useState, useEffect } from 'react';
1
+ import React, { useEffect, useRef, useState } from 'react';
2
2
  import { PrerenderedCanvas } from '@jbrowse/core/ui';
3
3
  import { bpSpanPx } from '@jbrowse/core/util';
4
4
  import { observer } from 'mobx-react';
@@ -81,9 +81,7 @@ const PileupRendering = observer(function (props) {
81
81
  onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(event, displayModel === null || displayModel === void 0 ? void 0 : displayModel.getFeatureOverlapping(blockKey, clientBp, offsetY));
82
82
  }
83
83
  function callMouseHandler(handlerName, event) {
84
- // @ts-expect-error
85
84
  const featureHandler = props[`onFeature${handlerName}`];
86
- // @ts-expect-error
87
85
  const canvasHandler = props[`on${handlerName}`];
88
86
  if (featureHandler && featureIdUnderMouse) {
89
87
  featureHandler(event, featureIdUnderMouse);
@@ -93,7 +91,6 @@ const PileupRendering = observer(function (props) {
93
91
  }
94
92
  }
95
93
  const canvasWidth = Math.ceil(width);
96
- // need to call this in render so we get the right observer behavior
97
94
  return (React.createElement("div", { ref: ref, "data-testid": [
98
95
  'pileup-overlay',
99
96
  sortedBy === null || sortedBy === void 0 ? void 0 : sortedBy.type,
@@ -1,84 +1,53 @@
1
1
  declare const PileupRenderer: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot
4
- * default magenta here is used to detect the user has not customized this
5
- */
6
2
  color: {
7
3
  type: string;
8
4
  description: string;
9
5
  defaultValue: string;
10
6
  contextVariable: string[];
11
7
  };
12
- /**
13
- * #slot
14
- */
15
8
  orientationType: {
16
9
  type: string;
17
10
  model: import("mobx-state-tree").ISimpleType<string>;
18
11
  defaultValue: string;
19
12
  description: string;
20
13
  };
21
- /**
22
- * #slot
23
- */
24
14
  displayMode: {
25
15
  type: string;
26
16
  model: import("mobx-state-tree").ISimpleType<string>;
27
17
  description: string;
28
18
  defaultValue: string;
29
19
  };
30
- /**
31
- * #slot
32
- */
33
20
  minSubfeatureWidth: {
34
21
  type: string;
35
22
  description: string;
36
23
  defaultValue: number;
37
24
  };
38
- /**
39
- * #slot
40
- */
41
25
  maxHeight: {
42
26
  type: string;
43
27
  description: string;
44
28
  defaultValue: number;
45
29
  };
46
- /**
47
- * #slot
48
- */
49
30
  maxClippingSize: {
50
31
  type: string;
51
32
  description: string;
52
33
  defaultValue: number;
53
34
  };
54
- /**
55
- * #slot
56
- */
57
35
  height: {
58
36
  type: string;
59
37
  description: string;
60
38
  defaultValue: number;
61
39
  contextVariable: string[];
62
40
  };
63
- /**
64
- * #slot
65
- */
66
41
  noSpacing: {
67
42
  type: string;
68
43
  description: string;
69
44
  defaultValue: boolean;
70
45
  };
71
- /**
72
- * #slot
73
- */
74
46
  largeInsertionIndicatorScale: {
75
47
  type: string;
76
48
  description: string;
77
49
  defaultValue: number;
78
50
  };
79
- /**
80
- * #slot
81
- */
82
51
  mismatchAlpha: {
83
52
  type: string;
84
53
  defaultValue: boolean;
@@ -1,32 +1,19 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { types } from 'mobx-state-tree';
3
- /**
4
- * #config PileupRenderer
5
- */
6
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ function x() { }
7
4
  const PileupRenderer = ConfigurationSchema('PileupRenderer', {
8
- /**
9
- * #slot
10
- * default magenta here is used to detect the user has not customized this
11
- */
12
5
  color: {
13
6
  type: 'color',
14
7
  description: 'the color of each feature in a pileup alignment',
15
8
  defaultValue: '#f0f',
16
9
  contextVariable: ['feature'],
17
10
  },
18
- /**
19
- * #slot
20
- */
21
11
  orientationType: {
22
12
  type: 'stringEnum',
23
13
  model: types.enumeration('orientationType', ['fr', 'rf', 'ff']),
24
14
  defaultValue: 'fr',
25
15
  description: 'read sequencer orientation. fr is normal "reads pointing at each other ---> <--- while some other sequencers can use other options',
26
16
  },
27
- /**
28
- * #slot
29
- */
30
17
  displayMode: {
31
18
  type: 'stringEnum',
32
19
  model: types.enumeration('displayMode', [
@@ -37,58 +24,37 @@ const PileupRenderer = ConfigurationSchema('PileupRenderer', {
37
24
  description: 'Alternative display modes',
38
25
  defaultValue: 'normal',
39
26
  },
40
- /**
41
- * #slot
42
- */
43
27
  minSubfeatureWidth: {
44
28
  type: 'number',
45
29
  description: 'the minimum width in px for a pileup mismatch feature. use for increasing/decreasing mismatch marker widths when zoomed out, e.g. 0 or 1',
46
30
  defaultValue: 1,
47
31
  },
48
- /**
49
- * #slot
50
- */
51
32
  maxHeight: {
52
33
  type: 'integer',
53
34
  description: 'the maximum height to be used in a pileup rendering',
54
35
  defaultValue: 1200,
55
36
  },
56
- /**
57
- * #slot
58
- */
59
37
  maxClippingSize: {
60
38
  type: 'integer',
61
39
  description: 'the max clip size to be used in a pileup rendering',
62
40
  defaultValue: 10000,
63
41
  },
64
- /**
65
- * #slot
66
- */
67
42
  height: {
68
43
  type: 'number',
69
44
  description: 'the height of each feature in a pileup alignment',
70
45
  defaultValue: 7,
71
46
  contextVariable: ['feature'],
72
47
  },
73
- /**
74
- * #slot
75
- */
76
48
  noSpacing: {
77
49
  type: 'boolean',
78
50
  description: 'remove spacing between features',
79
51
  defaultValue: false,
80
52
  },
81
- /**
82
- * #slot
83
- */
84
53
  largeInsertionIndicatorScale: {
85
54
  type: 'number',
86
55
  description: 'scale at which to draw the large insertion indicators (bp/pixel)',
87
56
  defaultValue: 10,
88
57
  },
89
- /**
90
- * #slot
91
- */
92
58
  mismatchAlpha: {
93
59
  type: 'boolean',
94
60
  defaultValue: false,
@@ -1,5 +1,5 @@
1
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
- import { Feature } from '@jbrowse/core/util';
1
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import type { Feature } from '@jbrowse/core/util';
3
3
  export declare function getAlignmentShapeColor({ colorType, tag, feature, config, defaultColor, colorTagMap, }: {
4
4
  colorType: string;
5
5
  tag: string;
@@ -1,9 +1,7 @@
1
- import { readConfObject, } from '@jbrowse/core/configuration';
2
- import { fillColor } from '../shared/color';
1
+ import { readConfObject } from '@jbrowse/core/configuration';
3
2
  import { colorByInsertSize, colorByMappingQuality, colorByOrientation, colorByStrand, colorByStrandedRnaSeq, } from './colorBy';
3
+ import { fillColor } from '../shared/color';
4
4
  export function getAlignmentShapeColor({ colorType, tag, feature, config, defaultColor, colorTagMap, }) {
5
- // first pass for simple color changes that change the color of the
6
- // alignment
7
5
  switch (colorType) {
8
6
  case 'insertSize':
9
7
  return colorByInsertSize(feature);
@@ -51,9 +49,6 @@ export function getAlignmentShapeColor({ colorType, tag, feature, config, defaul
51
49
  break;
52
50
  case 'modifications':
53
51
  case 'methylation':
54
- // this coloring is similar to igv.js, and is helpful to color negative
55
- // strand reads differently because their c-g will be flipped (e.g. g-c
56
- // read right to left)
57
52
  return feature.get('flags') & 16 ? '#c8dcc8' : '#c8c8c8';
58
53
  default:
59
54
  return defaultColor
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function register(pluginManager: PluginManager): void;
@@ -1,6 +1,6 @@
1
1
  import PileupRenderer from './PileupRenderer';
2
- import configSchema from './configSchema';
3
2
  import ReactComponent from './components/PileupRendering';
3
+ import configSchema from './configSchema';
4
4
  export default function register(pluginManager) {
5
5
  pluginManager.addRendererType(() => {
6
6
  return new PileupRenderer({
@@ -1,5 +1,5 @@
1
- import { Feature, Region } from '@jbrowse/core/util';
2
- import { BaseLayout } from '@jbrowse/core/util/layouts';
1
+ import type { Feature, Region } from '@jbrowse/core/util';
2
+ import type { BaseLayout } from '@jbrowse/core/util/layouts';
3
3
  export interface LayoutRecord {
4
4
  feature: Feature;
5
5
  leftPx: number;
@@ -2,7 +2,6 @@ import { bpSpanPx } from '@jbrowse/core/util';
2
2
  export function layoutFeature({ feature, layout, bpPerPx, region, showSoftClip, heightPx, displayMode, }) {
3
3
  let expansionBefore = 0;
4
4
  let expansionAfter = 0;
5
- // Expand the start and end of feature when softclipping enabled
6
5
  if (showSoftClip) {
7
6
  const mismatches = feature.get('mismatches');
8
7
  const seq = feature.get('seq');