@jbrowse/plugin-alignments 2.17.0 → 3.0.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 (471) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -3
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +25 -24
  3. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  4. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  5. package/dist/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  6. package/dist/AlignmentsFeatureDetail/Flags.js +8 -10
  7. package/dist/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  8. package/dist/AlignmentsFeatureDetail/Formatter.js +11 -39
  9. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +4 -7
  10. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +46 -54
  11. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +4 -7
  12. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +58 -61
  13. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +3 -4
  14. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +4 -5
  15. package/dist/AlignmentsFeatureDetail/PairLink.d.ts +2 -3
  16. package/dist/AlignmentsFeatureDetail/PairLink.js +3 -7
  17. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +3 -4
  18. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +6 -9
  19. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +2 -3
  20. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +21 -31
  21. package/dist/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  22. package/dist/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
  23. package/dist/AlignmentsFeatureDetail/index.d.ts +1 -1
  24. package/dist/AlignmentsFeatureDetail/index.js +17 -7
  25. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  26. package/dist/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
  27. package/dist/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  28. package/dist/AlignmentsFeatureDetail/tagInfo.js +1 -1
  29. package/dist/AlignmentsFeatureDetail/util.d.ts +1 -1
  30. package/dist/AlignmentsTrack/configSchemaF.d.ts +1 -1
  31. package/dist/AlignmentsTrack/configSchemaF.js +1 -8
  32. package/dist/AlignmentsTrack/index.d.ts +1 -1
  33. package/dist/AlignmentsTrack/index.js +0 -3
  34. package/dist/BamAdapter/BamAdapter.d.ts +6 -5
  35. package/dist/BamAdapter/BamAdapter.js +21 -39
  36. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  37. package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  38. package/dist/BamAdapter/configSchema.d.ts +0 -17
  39. package/dist/BamAdapter/configSchema.js +1 -22
  40. package/dist/BamAdapter/index.d.ts +1 -1
  41. package/dist/BamAdapter/index.js +17 -7
  42. package/dist/CramAdapter/CramAdapter.d.ts +6 -9
  43. package/dist/CramAdapter/CramAdapter.js +25 -43
  44. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  45. package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  46. package/dist/CramAdapter/CramTestAdapters.d.ts +3 -3
  47. package/dist/CramAdapter/CramTestAdapters.js +6 -6
  48. package/dist/CramAdapter/configSchema.d.ts +0 -14
  49. package/dist/CramAdapter/configSchema.js +1 -19
  50. package/dist/CramAdapter/index.d.ts +1 -1
  51. package/dist/CramAdapter/index.js +17 -8
  52. package/dist/CramAdapter/util.d.ts +2 -2
  53. package/dist/CramAdapter/util.js +1 -24
  54. package/dist/GuessAlignmentsTypes/index.d.ts +1 -1
  55. package/dist/GuessAlignmentsTypes/index.js +19 -34
  56. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  57. package/dist/HtsgetBamAdapter/configSchema.d.ts +0 -9
  58. package/dist/HtsgetBamAdapter/configSchema.js +1 -14
  59. package/dist/HtsgetBamAdapter/index.d.ts +1 -1
  60. package/dist/HtsgetBamAdapter/index.js +18 -8
  61. package/dist/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
  62. package/dist/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
  63. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -3
  64. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -18
  65. package/dist/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
  66. package/dist/LinearAlignmentsDisplay/configSchema.js +3 -20
  67. package/dist/LinearAlignmentsDisplay/index.d.ts +1 -1
  68. package/dist/LinearAlignmentsDisplay/index.js +1 -2
  69. package/dist/LinearAlignmentsDisplay/model.d.ts +7 -77
  70. package/dist/LinearAlignmentsDisplay/model.js +10 -85
  71. package/dist/LinearAlignmentsDisplay/util.d.ts +1 -1
  72. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +52 -164
  73. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +71 -145
  74. package/dist/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  75. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +12 -41
  76. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +3 -4
  77. package/dist/LinearPileupDisplay/components/GroupByDialog.js +106 -92
  78. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -8
  79. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +3 -7
  80. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  81. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +15 -44
  82. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  83. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +12 -40
  84. package/dist/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  85. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +17 -46
  86. package/dist/LinearPileupDisplay/configSchema.d.ts +13 -16
  87. package/dist/LinearPileupDisplay/configSchema.js +12 -30
  88. package/dist/LinearPileupDisplay/index.d.ts +1 -1
  89. package/dist/LinearPileupDisplay/index.js +2 -2
  90. package/dist/LinearPileupDisplay/model.d.ts +123 -111
  91. package/dist/LinearPileupDisplay/model.js +29 -109
  92. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -3
  93. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +6 -33
  94. package/dist/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  95. package/dist/LinearReadArcsDisplay/configSchema.js +8 -31
  96. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  97. package/dist/LinearReadArcsDisplay/drawFeats.js +1 -9
  98. package/dist/LinearReadArcsDisplay/index.d.ts +1 -1
  99. package/dist/LinearReadArcsDisplay/index.js +18 -9
  100. package/dist/LinearReadArcsDisplay/model.d.ts +16 -94
  101. package/dist/LinearReadArcsDisplay/model.js +34 -111
  102. package/dist/LinearReadArcsDisplay/util.d.ts +1 -1
  103. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -3
  104. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +6 -33
  105. package/dist/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  106. package/dist/LinearReadCloudDisplay/configSchema.js +3 -28
  107. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  108. package/dist/LinearReadCloudDisplay/drawFeats.js +2 -2
  109. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  110. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  111. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  112. package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -3
  113. package/dist/LinearReadCloudDisplay/index.d.ts +1 -1
  114. package/dist/LinearReadCloudDisplay/index.js +18 -9
  115. package/dist/LinearReadCloudDisplay/model.d.ts +14 -56
  116. package/dist/LinearReadCloudDisplay/model.js +34 -75
  117. package/dist/LinearReadCloudDisplay/util.js +0 -1
  118. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -3
  119. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +16 -55
  120. package/dist/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  121. package/dist/LinearSNPCoverageDisplay/configSchema.js +16 -32
  122. package/dist/LinearSNPCoverageDisplay/index.d.ts +1 -1
  123. package/dist/LinearSNPCoverageDisplay/index.js +1 -2
  124. package/dist/LinearSNPCoverageDisplay/model.d.ts +13 -54
  125. package/dist/LinearSNPCoverageDisplay/model.js +69 -159
  126. package/dist/MismatchParser/cigarToMismatches.d.ts +2 -3
  127. package/dist/MismatchParser/cigarToMismatches.js +4 -7
  128. package/dist/MismatchParser/getNextRefPos.js +0 -2
  129. package/dist/MismatchParser/index.d.ts +3 -4
  130. package/dist/MismatchParser/index.js +1 -9
  131. package/dist/MismatchParser/mdToMismatches.d.ts +2 -3
  132. package/dist/MismatchParser/mdToMismatches.js +0 -6
  133. package/dist/ModificationParser/index.d.ts +1 -1
  134. package/dist/ModificationParser/index.js +1 -18
  135. package/dist/PileupRPC/base.d.ts +2 -2
  136. package/dist/PileupRPC/base.js +0 -1
  137. package/dist/PileupRPC/index.d.ts +1 -1
  138. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  139. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  140. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  141. package/dist/PileupRPC/methods/GetReducedFeatures.js +3 -5
  142. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  143. package/dist/PileupRPC/methods/GetVisibleModifications.js +1 -1
  144. package/dist/PileupRPC/util.d.ts +1 -1
  145. package/dist/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  146. package/dist/PileupRenderer/PileupLayoutSession.js +2 -5
  147. package/dist/PileupRenderer/PileupRenderer.d.ts +14 -24
  148. package/dist/PileupRenderer/PileupRenderer.js +28 -23
  149. package/dist/PileupRenderer/colorBy.d.ts +2 -2
  150. package/dist/PileupRenderer/colorBy.js +0 -6
  151. package/dist/PileupRenderer/components/PileupRendering.d.ts +2 -3
  152. package/dist/PileupRenderer/components/PileupRendering.js +15 -43
  153. package/dist/PileupRenderer/configSchema.d.ts +5 -31
  154. package/dist/PileupRenderer/configSchema.js +6 -35
  155. package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  156. package/dist/PileupRenderer/getAlignmentShapeColor.js +1 -6
  157. package/dist/PileupRenderer/index.d.ts +1 -1
  158. package/dist/PileupRenderer/index.js +1 -1
  159. package/dist/PileupRenderer/layoutFeature.d.ts +2 -2
  160. package/dist/PileupRenderer/layoutFeature.js +0 -1
  161. package/dist/PileupRenderer/layoutFeatures.d.ts +5 -2
  162. package/dist/PileupRenderer/layoutFeatures.js +6 -4
  163. package/dist/PileupRenderer/makeImageData.d.ts +3 -4
  164. package/dist/PileupRenderer/makeImageData.js +10 -2
  165. package/dist/PileupRenderer/renderAlignment.d.ts +3 -3
  166. package/dist/PileupRenderer/renderAlignment.js +3 -5
  167. package/dist/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  168. package/dist/PileupRenderer/renderAlignmentShape.js +1 -1
  169. package/dist/PileupRenderer/renderMethylation.d.ts +4 -4
  170. package/dist/PileupRenderer/renderMethylation.js +0 -4
  171. package/dist/PileupRenderer/renderMismatches.d.ts +5 -4
  172. package/dist/PileupRenderer/renderMismatches.js +19 -25
  173. package/dist/PileupRenderer/renderModifications.d.ts +3 -3
  174. package/dist/PileupRenderer/renderModifications.js +1 -3
  175. package/dist/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  176. package/dist/PileupRenderer/renderPerBaseLettering.js +0 -1
  177. package/dist/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  178. package/dist/PileupRenderer/renderPerBaseQuality.js +2 -2
  179. package/dist/PileupRenderer/renderSoftClipping.d.ts +5 -5
  180. package/dist/PileupRenderer/renderSoftClipping.js +0 -4
  181. package/dist/PileupRenderer/sortUtil.d.ts +2 -2
  182. package/dist/PileupRenderer/sortUtil.js +1 -4
  183. package/dist/PileupRenderer/types.d.ts +26 -0
  184. package/dist/PileupRenderer/types.js +2 -0
  185. package/dist/PileupRenderer/util.d.ts +2 -2
  186. package/dist/PileupRenderer/util.js +1 -3
  187. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  188. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +4 -6
  189. package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -4
  190. package/dist/SNPCoverageAdapter/configSchema.js +1 -8
  191. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  192. package/dist/SNPCoverageAdapter/generateCoverageBins.js +25 -247
  193. package/dist/SNPCoverageAdapter/index.d.ts +1 -1
  194. package/dist/SNPCoverageAdapter/index.js +17 -7
  195. package/dist/SNPCoverageAdapter/processDepth.d.ts +8 -0
  196. package/dist/SNPCoverageAdapter/processDepth.js +38 -0
  197. package/dist/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  198. package/dist/SNPCoverageAdapter/processMismatches.js +58 -0
  199. package/dist/SNPCoverageAdapter/processModifications.d.ts +10 -0
  200. package/dist/SNPCoverageAdapter/processModifications.js +49 -0
  201. package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  202. package/dist/SNPCoverageAdapter/processReferenceCpGs.js +63 -0
  203. package/dist/SNPCoverageAdapter/util.d.ts +10 -0
  204. package/dist/SNPCoverageAdapter/util.js +41 -0
  205. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +2 -18
  206. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +35 -288
  207. package/dist/SNPCoverageRenderer/configSchema.d.ts +3 -18
  208. package/dist/SNPCoverageRenderer/configSchema.js +4 -22
  209. package/dist/SNPCoverageRenderer/index.d.ts +1 -1
  210. package/dist/SNPCoverageRenderer/index.js +2 -2
  211. package/dist/SNPCoverageRenderer/makeImage.d.ts +2 -0
  212. package/dist/SNPCoverageRenderer/makeImage.js +270 -0
  213. package/dist/SNPCoverageRenderer/types.d.ts +19 -0
  214. package/dist/SNPCoverageRenderer/types.js +2 -0
  215. package/dist/index.d.ts +2 -2
  216. package/dist/index.js +29 -19
  217. package/dist/shared/afterAttach.d.ts +1 -1
  218. package/dist/shared/afterAttach.js +0 -2
  219. package/dist/shared/color.d.ts +1 -1
  220. package/dist/shared/color.js +0 -8
  221. package/dist/shared/components/BaseDisplayComponent.d.ts +3 -4
  222. package/dist/shared/components/BaseDisplayComponent.js +13 -19
  223. package/dist/shared/components/FilterByTagDialog.d.ts +2 -3
  224. package/dist/shared/components/FilterByTagDialog.js +44 -94
  225. package/dist/shared/fetchChains.d.ts +2 -2
  226. package/dist/shared/fetchChains.js +1 -2
  227. package/dist/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  228. package/dist/shared/getMaximumModificationAtEachPosition.js +1 -2
  229. package/dist/shared/getUniqueModifications.d.ts +5 -5
  230. package/dist/shared/getUniqueTags.d.ts +4 -4
  231. package/dist/shared/renderSvgUtil.d.ts +1 -2
  232. package/dist/shared/renderSvgUtil.js +20 -19
  233. package/dist/shared/util.d.ts +11 -1
  234. package/dist/shared/util.js +27 -1
  235. package/dist/util.d.ts +4 -4
  236. package/dist/util.js +3 -9
  237. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -3
  238. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +8 -17
  239. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  240. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  241. package/esm/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  242. package/esm/AlignmentsFeatureDetail/Flags.js +8 -10
  243. package/esm/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  244. package/esm/AlignmentsFeatureDetail/Formatter.js +11 -16
  245. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +4 -7
  246. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +30 -48
  247. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +4 -7
  248. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +41 -54
  249. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +3 -4
  250. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +4 -5
  251. package/esm/AlignmentsFeatureDetail/PairLink.d.ts +2 -3
  252. package/esm/AlignmentsFeatureDetail/PairLink.js +3 -4
  253. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +3 -4
  254. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +6 -9
  255. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +2 -3
  256. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +22 -29
  257. package/esm/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  258. package/esm/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
  259. package/esm/AlignmentsFeatureDetail/index.d.ts +1 -1
  260. package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  261. package/esm/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
  262. package/esm/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  263. package/esm/AlignmentsFeatureDetail/tagInfo.js +1 -1
  264. package/esm/AlignmentsFeatureDetail/util.d.ts +1 -1
  265. package/esm/AlignmentsTrack/configSchemaF.d.ts +1 -1
  266. package/esm/AlignmentsTrack/configSchemaF.js +1 -8
  267. package/esm/AlignmentsTrack/index.d.ts +1 -1
  268. package/esm/AlignmentsTrack/index.js +0 -3
  269. package/esm/BamAdapter/BamAdapter.d.ts +6 -5
  270. package/esm/BamAdapter/BamAdapter.js +19 -37
  271. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  272. package/esm/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  273. package/esm/BamAdapter/configSchema.d.ts +0 -17
  274. package/esm/BamAdapter/configSchema.js +1 -22
  275. package/esm/BamAdapter/index.d.ts +1 -1
  276. package/esm/CramAdapter/CramAdapter.d.ts +6 -9
  277. package/esm/CramAdapter/CramAdapter.js +24 -42
  278. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  279. package/esm/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  280. package/esm/CramAdapter/CramTestAdapters.d.ts +3 -3
  281. package/esm/CramAdapter/CramTestAdapters.js +6 -6
  282. package/esm/CramAdapter/configSchema.d.ts +0 -14
  283. package/esm/CramAdapter/configSchema.js +1 -19
  284. package/esm/CramAdapter/index.d.ts +1 -1
  285. package/esm/CramAdapter/index.js +0 -1
  286. package/esm/CramAdapter/util.d.ts +2 -2
  287. package/esm/CramAdapter/util.js +1 -24
  288. package/esm/GuessAlignmentsTypes/index.d.ts +1 -1
  289. package/esm/GuessAlignmentsTypes/index.js +20 -35
  290. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  291. package/esm/HtsgetBamAdapter/configSchema.d.ts +0 -9
  292. package/esm/HtsgetBamAdapter/configSchema.js +1 -14
  293. package/esm/HtsgetBamAdapter/index.d.ts +1 -1
  294. package/esm/HtsgetBamAdapter/index.js +1 -1
  295. package/esm/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
  296. package/esm/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
  297. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -3
  298. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -15
  299. package/esm/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
  300. package/esm/LinearAlignmentsDisplay/configSchema.js +3 -20
  301. package/esm/LinearAlignmentsDisplay/index.d.ts +1 -1
  302. package/esm/LinearAlignmentsDisplay/index.js +1 -2
  303. package/esm/LinearAlignmentsDisplay/model.d.ts +7 -77
  304. package/esm/LinearAlignmentsDisplay/model.js +11 -86
  305. package/esm/LinearAlignmentsDisplay/util.d.ts +1 -1
  306. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +52 -164
  307. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +56 -140
  308. package/esm/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  309. package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +12 -18
  310. package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +3 -4
  311. package/esm/LinearPileupDisplay/components/GroupByDialog.js +106 -69
  312. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -8
  313. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +3 -4
  314. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  315. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +15 -21
  316. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  317. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +12 -17
  318. package/esm/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  319. package/esm/LinearPileupDisplay/components/SortByTagDialog.js +17 -23
  320. package/esm/LinearPileupDisplay/configSchema.d.ts +13 -16
  321. package/esm/LinearPileupDisplay/configSchema.js +12 -30
  322. package/esm/LinearPileupDisplay/index.d.ts +1 -1
  323. package/esm/LinearPileupDisplay/index.js +2 -2
  324. package/esm/LinearPileupDisplay/model.d.ts +123 -111
  325. package/esm/LinearPileupDisplay/model.js +13 -103
  326. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -3
  327. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +6 -10
  328. package/esm/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  329. package/esm/LinearReadArcsDisplay/configSchema.js +8 -31
  330. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  331. package/esm/LinearReadArcsDisplay/drawFeats.js +1 -9
  332. package/esm/LinearReadArcsDisplay/index.d.ts +1 -1
  333. package/esm/LinearReadArcsDisplay/index.js +1 -2
  334. package/esm/LinearReadArcsDisplay/model.d.ts +16 -94
  335. package/esm/LinearReadArcsDisplay/model.js +18 -105
  336. package/esm/LinearReadArcsDisplay/util.d.ts +1 -1
  337. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -3
  338. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +6 -10
  339. package/esm/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  340. package/esm/LinearReadCloudDisplay/configSchema.js +3 -28
  341. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  342. package/esm/LinearReadCloudDisplay/drawFeats.js +2 -2
  343. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  344. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  345. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  346. package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -3
  347. package/esm/LinearReadCloudDisplay/index.d.ts +1 -1
  348. package/esm/LinearReadCloudDisplay/index.js +1 -2
  349. package/esm/LinearReadCloudDisplay/model.d.ts +14 -56
  350. package/esm/LinearReadCloudDisplay/model.js +17 -68
  351. package/esm/LinearReadCloudDisplay/util.js +0 -1
  352. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -3
  353. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +16 -52
  354. package/esm/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  355. package/esm/LinearSNPCoverageDisplay/configSchema.js +16 -32
  356. package/esm/LinearSNPCoverageDisplay/index.d.ts +1 -1
  357. package/esm/LinearSNPCoverageDisplay/index.js +1 -2
  358. package/esm/LinearSNPCoverageDisplay/model.d.ts +13 -54
  359. package/esm/LinearSNPCoverageDisplay/model.js +53 -153
  360. package/esm/MismatchParser/cigarToMismatches.d.ts +2 -3
  361. package/esm/MismatchParser/cigarToMismatches.js +4 -7
  362. package/esm/MismatchParser/getNextRefPos.js +0 -2
  363. package/esm/MismatchParser/index.d.ts +3 -4
  364. package/esm/MismatchParser/index.js +1 -9
  365. package/esm/MismatchParser/mdToMismatches.d.ts +2 -3
  366. package/esm/MismatchParser/mdToMismatches.js +0 -6
  367. package/esm/ModificationParser/index.d.ts +1 -1
  368. package/esm/ModificationParser/index.js +1 -18
  369. package/esm/PileupRPC/base.d.ts +2 -2
  370. package/esm/PileupRPC/base.js +0 -1
  371. package/esm/PileupRPC/index.d.ts +1 -1
  372. package/esm/PileupRPC/index.js +1 -1
  373. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  374. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  375. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  376. package/esm/PileupRPC/methods/GetReducedFeatures.js +3 -5
  377. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  378. package/esm/PileupRPC/methods/GetVisibleModifications.js +1 -1
  379. package/esm/PileupRPC/util.d.ts +1 -1
  380. package/esm/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  381. package/esm/PileupRenderer/PileupLayoutSession.js +2 -5
  382. package/esm/PileupRenderer/PileupRenderer.d.ts +14 -24
  383. package/esm/PileupRenderer/PileupRenderer.js +12 -17
  384. package/esm/PileupRenderer/colorBy.d.ts +2 -2
  385. package/esm/PileupRenderer/colorBy.js +1 -7
  386. package/esm/PileupRenderer/components/PileupRendering.d.ts +2 -3
  387. package/esm/PileupRenderer/components/PileupRendering.js +15 -20
  388. package/esm/PileupRenderer/configSchema.d.ts +5 -31
  389. package/esm/PileupRenderer/configSchema.js +6 -35
  390. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  391. package/esm/PileupRenderer/getAlignmentShapeColor.js +2 -7
  392. package/esm/PileupRenderer/index.d.ts +1 -1
  393. package/esm/PileupRenderer/index.js +1 -1
  394. package/esm/PileupRenderer/layoutFeature.d.ts +2 -2
  395. package/esm/PileupRenderer/layoutFeature.js +0 -1
  396. package/esm/PileupRenderer/layoutFeatures.d.ts +5 -2
  397. package/esm/PileupRenderer/layoutFeatures.js +7 -5
  398. package/esm/PileupRenderer/makeImageData.d.ts +3 -4
  399. package/esm/PileupRenderer/makeImageData.js +10 -2
  400. package/esm/PileupRenderer/renderAlignment.d.ts +3 -3
  401. package/esm/PileupRenderer/renderAlignment.js +3 -5
  402. package/esm/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  403. package/esm/PileupRenderer/renderAlignmentShape.js +1 -1
  404. package/esm/PileupRenderer/renderMethylation.d.ts +4 -4
  405. package/esm/PileupRenderer/renderMethylation.js +0 -4
  406. package/esm/PileupRenderer/renderMismatches.d.ts +5 -4
  407. package/esm/PileupRenderer/renderMismatches.js +19 -25
  408. package/esm/PileupRenderer/renderModifications.d.ts +3 -3
  409. package/esm/PileupRenderer/renderModifications.js +1 -3
  410. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  411. package/esm/PileupRenderer/renderPerBaseLettering.js +0 -1
  412. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  413. package/esm/PileupRenderer/renderPerBaseQuality.js +2 -2
  414. package/esm/PileupRenderer/renderSoftClipping.d.ts +5 -5
  415. package/esm/PileupRenderer/renderSoftClipping.js +1 -5
  416. package/esm/PileupRenderer/sortUtil.d.ts +2 -2
  417. package/esm/PileupRenderer/sortUtil.js +1 -4
  418. package/esm/PileupRenderer/types.d.ts +26 -0
  419. package/esm/PileupRenderer/types.js +1 -0
  420. package/esm/PileupRenderer/util.d.ts +2 -2
  421. package/esm/PileupRenderer/util.js +1 -3
  422. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  423. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +5 -7
  424. package/esm/SNPCoverageAdapter/configSchema.d.ts +0 -4
  425. package/esm/SNPCoverageAdapter/configSchema.js +1 -8
  426. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  427. package/esm/SNPCoverageAdapter/generateCoverageBins.js +24 -246
  428. package/esm/SNPCoverageAdapter/index.d.ts +1 -1
  429. package/esm/SNPCoverageAdapter/processDepth.d.ts +8 -0
  430. package/esm/SNPCoverageAdapter/processDepth.js +35 -0
  431. package/esm/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  432. package/esm/SNPCoverageAdapter/processMismatches.js +55 -0
  433. package/esm/SNPCoverageAdapter/processModifications.d.ts +10 -0
  434. package/esm/SNPCoverageAdapter/processModifications.js +46 -0
  435. package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  436. package/esm/SNPCoverageAdapter/processReferenceCpGs.js +60 -0
  437. package/esm/SNPCoverageAdapter/util.d.ts +10 -0
  438. package/esm/SNPCoverageAdapter/util.js +35 -0
  439. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +2 -18
  440. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +3 -289
  441. package/esm/SNPCoverageRenderer/configSchema.d.ts +3 -18
  442. package/esm/SNPCoverageRenderer/configSchema.js +4 -22
  443. package/esm/SNPCoverageRenderer/index.d.ts +1 -1
  444. package/esm/SNPCoverageRenderer/index.js +2 -2
  445. package/esm/SNPCoverageRenderer/makeImage.d.ts +2 -0
  446. package/esm/SNPCoverageRenderer/makeImage.js +267 -0
  447. package/esm/SNPCoverageRenderer/types.d.ts +19 -0
  448. package/esm/SNPCoverageRenderer/types.js +1 -0
  449. package/esm/index.d.ts +2 -2
  450. package/esm/index.js +10 -10
  451. package/esm/shared/afterAttach.d.ts +1 -1
  452. package/esm/shared/afterAttach.js +0 -2
  453. package/esm/shared/color.d.ts +1 -1
  454. package/esm/shared/color.js +0 -8
  455. package/esm/shared/components/BaseDisplayComponent.d.ts +3 -4
  456. package/esm/shared/components/BaseDisplayComponent.js +13 -16
  457. package/esm/shared/components/FilterByTagDialog.d.ts +2 -3
  458. package/esm/shared/components/FilterByTagDialog.js +44 -71
  459. package/esm/shared/fetchChains.d.ts +2 -2
  460. package/esm/shared/fetchChains.js +1 -2
  461. package/esm/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  462. package/esm/shared/getMaximumModificationAtEachPosition.js +1 -2
  463. package/esm/shared/getUniqueModifications.d.ts +5 -5
  464. package/esm/shared/getUniqueTags.d.ts +4 -4
  465. package/esm/shared/renderSvgUtil.d.ts +1 -2
  466. package/esm/shared/renderSvgUtil.js +3 -9
  467. package/esm/shared/util.d.ts +11 -1
  468. package/esm/shared/util.js +24 -0
  469. package/esm/util.d.ts +4 -4
  470. package/esm/util.js +3 -9
  471. package/package.json +6 -7
@@ -7,11 +7,8 @@ export function mdToMismatches(mdstring, ops, cigarMismatches, seq, qual) {
7
7
  let lastSkipPos = 0;
8
8
  const mismatchRecords = [];
9
9
  const skips = cigarMismatches.filter(cigar => cigar.type === 'skip');
10
- // convert a position on the reference sequence to a position on the template
11
- // sequence, taking into account hard and soft clipping of reads
12
10
  function nextRecord() {
13
11
  mismatchRecords.push(curr);
14
- // get a new mismatch record ready
15
12
  curr = {
16
13
  start: curr.start + curr.length,
17
14
  length: 0,
@@ -40,7 +37,6 @@ export function mdToMismatches(mdstring, ops, cigarMismatches, seq, qual) {
40
37
  lastRefOffset = refOffset;
41
38
  return templateOffset - (refOffset - refCoord);
42
39
  }
43
- // now actually parse the MD string
44
40
  const md = mdstring.match(mdRegex) || [];
45
41
  for (const token of md) {
46
42
  const num = +token;
@@ -51,8 +47,6 @@ export function mdToMismatches(mdstring, ops, cigarMismatches, seq, qual) {
51
47
  curr.start += token.length - 1;
52
48
  }
53
49
  else {
54
- // mismatch
55
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
56
50
  for (let j = 0; j < token.length; j += 1) {
57
51
  curr.length = 1;
58
52
  while (lastSkipPos < skips.length) {
@@ -1,4 +1,4 @@
1
- import { Feature } from '@jbrowse/core/util';
1
+ import type { Feature } from '@jbrowse/core/util';
2
2
  export declare function getModProbabilities(feature: Feature): number[] | undefined;
3
3
  export declare function getModPositions(mm: string, fseq: string, fstrand: number): {
4
4
  type: string;
@@ -1,15 +1,7 @@
1
1
  import { revcom } from '@jbrowse/core/util';
2
- import { getTagAlt } from '../util';
3
2
  import { getNextRefPos } from '../MismatchParser';
3
+ import { getTagAlt } from '../util';
4
4
  const modificationRegex = new RegExp(/([A-Z])([-+])([^,.?]+)([.?])?/);
5
- // ML stores probabilities as array of numerics and MP is scaled phred scores
6
- // https://github.com/samtools/hts-specs/pull/418/files#diff-e765c6479316309f56b636f88189cdde8c40b854c7bdcce9ee7fe87a4e76febcR596
7
- //
8
- // if we have ML or Ml, it is an 8bit probability, divide by 255
9
- //
10
- // if we have MP or Mp it is phred scaled ASCII, which can go up to 90 but has
11
- // very high likelihood basecalls at that point, we really only care about low
12
- // qual calls <20 approx
13
5
  export function getModProbabilities(feature) {
14
6
  var _a;
15
7
  const m = getTagAlt(feature, 'ML', 'Ml') || [];
@@ -23,15 +15,11 @@ export function getModPositions(mm, fseq, fstrand) {
23
15
  const result = [];
24
16
  for (const mod of mods) {
25
17
  const [basemod, ...skips] = mod.split(',');
26
- // regexes based on parse_mm.pl from hts-specs
27
- // https://github.com/samtools/hts-specs/blob/master/test/SAMtags/parse_mm.pl
28
18
  const matches = modificationRegex.exec(basemod);
29
19
  if (!matches) {
30
20
  throw new Error('bad format for MM tag');
31
21
  }
32
22
  const [, base, strand, typestr] = matches;
33
- // can be a multi e.g. C+mh for both meth (m) and hydroxymeth (h) so split,
34
- // and they can also be chemical codes (ChEBI) e.g. C+16061
35
23
  const types = typestr.split(/(\d+|.)/).filter(f => !!f);
36
24
  if (strand === '-') {
37
25
  console.warn('unsupported negative strand modifications');
@@ -42,7 +30,6 @@ export function getModPositions(mm, fseq, fstrand) {
42
30
  strand: strand,
43
31
  });
44
32
  }
45
- // this logic based on parse_mm.pl from hts-specs
46
33
  for (const type of types) {
47
34
  let i = 0;
48
35
  const positions = [];
@@ -57,8 +44,6 @@ export function getModPositions(mm, fseq, fstrand) {
57
44
  if (fstrand === -1) {
58
45
  const pos = seq.length - i;
59
46
  if (pos >= 0) {
60
- // avoid negative-number-positions in array, seen in #4629 cause
61
- // unknown, could warrant some further investigation
62
47
  positions.unshift(pos);
63
48
  }
64
49
  }
@@ -87,8 +72,6 @@ export function getModTypes(mm) {
87
72
  throw new Error('bad format for MM tag');
88
73
  }
89
74
  const [, base, strand, typestr] = matches;
90
- // can be a multi e.g. C+mh for both meth (m) and hydroxymeth (h) so
91
- // split, and they can also be chemical codes (ChEBI) e.g. C+16061
92
75
  return typestr
93
76
  .split(/(\d+|.)/)
94
77
  .filter(f => !!f)
@@ -1,8 +1,8 @@
1
1
  import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType';
2
- import { RenderArgs } from '@jbrowse/core/rpc/coreRpcMethods';
2
+ import type { RenderArgs } from '@jbrowse/core/rpc/coreRpcMethods';
3
3
  export default abstract class PileupBaseRPC extends RpcMethodType {
4
4
  serializeArguments(args: RenderArgs & {
5
- signal?: AbortSignal;
5
+ stopToken?: string;
6
6
  statusCallback?: (arg: string) => void;
7
7
  }, rpcDriver: string): Promise<Record<string, unknown>>;
8
8
  }
@@ -1,6 +1,5 @@
1
1
  import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType';
2
2
  import { renameRegionsIfNeeded } from '@jbrowse/core/util';
3
- // specialized get features to return limited data about alignments
4
3
  export default class PileupBaseRPC extends RpcMethodType {
5
4
  async serializeArguments(args, rpcDriver) {
6
5
  var _a;
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function PileupRPCMethodsF(pm: PluginManager): void;
@@ -1,4 +1,4 @@
1
- import { PileupGetGlobalValueForTag, PileupGetVisibleModifications, PileupGetReducedFeatures, } from './rpcMethods';
1
+ import { PileupGetGlobalValueForTag, PileupGetReducedFeatures, PileupGetVisibleModifications, } from './rpcMethods';
2
2
  export default function PileupRPCMethodsF(pm) {
3
3
  pm.addRpcMethod(() => new PileupGetGlobalValueForTag(pm));
4
4
  pm.addRpcMethod(() => new PileupGetVisibleModifications(pm));
@@ -1,11 +1,10 @@
1
- import { Region } from '@jbrowse/core/util';
2
- import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals';
3
1
  import PileupBaseRPC from '../base';
2
+ import type { Region } from '@jbrowse/core/util';
4
3
  export default class PileupGetGlobalValueForTag extends PileupBaseRPC {
5
4
  name: string;
6
5
  execute(args: {
7
6
  adapterConfig: Record<string, unknown>;
8
- signal?: RemoteAbortSignal;
7
+ stopToken?: string;
9
8
  headers?: Record<string, string>;
10
9
  regions: Region[];
11
10
  sessionId: string;
@@ -1,7 +1,6 @@
1
1
  import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
2
- import { toArray } from 'rxjs/operators';
3
2
  import { firstValueFrom } from 'rxjs';
4
- // locals
3
+ import { toArray } from 'rxjs/operators';
5
4
  import PileupBaseRPC from '../base';
6
5
  export default class PileupGetGlobalValueForTag extends PileupBaseRPC {
7
6
  constructor() {
@@ -1,11 +1,10 @@
1
- import { Region } from '@jbrowse/core/util';
2
- import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals';
3
1
  import PileupBaseRPC from '../base';
2
+ import type { Region } from '@jbrowse/core/util';
4
3
  export default class PileupGetReducedFeatures extends PileupBaseRPC {
5
4
  name: string;
6
5
  execute(args: {
7
6
  adapterConfig: Record<string, unknown>;
8
- signal?: RemoteAbortSignal;
7
+ stopToken?: string;
9
8
  headers?: Record<string, string>;
10
9
  regions: Region[];
11
10
  sessionId: string;
@@ -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';
7
- import PileupBaseRPC from '../base';
4
+ import { toArray } from 'rxjs/operators';
8
5
  import { getClip } from '../../MismatchParser';
9
- // specialized get features to return limited data about alignments
6
+ import PileupBaseRPC from '../base';
7
+ import { filterForPairs, getInsertSizeStats } from '../util';
10
8
  export default class PileupGetReducedFeatures extends PileupBaseRPC {
11
9
  constructor() {
12
10
  super(...arguments);
@@ -1,12 +1,11 @@
1
- import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals';
2
- import { Region } from '@jbrowse/core/util';
3
- import { ModificationType } from '../../shared/types';
4
1
  import PileupBaseRPC from '../base';
2
+ import type { ModificationType } from '../../shared/types';
3
+ import type { Region } from '@jbrowse/core/util';
5
4
  export default class PileupGetVisibleModifications extends PileupBaseRPC {
6
5
  name: string;
7
6
  execute(args: {
8
7
  adapterConfig: Record<string, unknown>;
9
- signal?: RemoteAbortSignal;
8
+ stopToken?: string;
10
9
  headers?: Record<string, string>;
11
10
  regions: Region[];
12
11
  sessionId: string;
@@ -1,6 +1,6 @@
1
1
  import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
2
- import { toArray } from 'rxjs/operators';
3
2
  import { firstValueFrom } from 'rxjs';
3
+ import { toArray } from 'rxjs/operators';
4
4
  import { getModTypes } from '../../ModificationParser';
5
5
  import { getTagAlt } from '../../util';
6
6
  import PileupBaseRPC from '../base';
@@ -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,9 +1,9 @@
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';
6
- import { FilterBy, SortedBy } from '../shared/types';
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';
7
7
  export interface PileupLayoutSessionProps {
8
8
  config: AnyConfigurationModel;
9
9
  bpPerPx: number;
@@ -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,29 +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
- import { ColorBy, ModificationTypeWithColor, SortedBy } from '../shared/types';
6
- export interface RenderArgsDeserialized extends BoxRenderArgsDeserialized {
7
- colorBy?: ColorBy;
8
- colorTagMap?: Record<string, string>;
9
- visibleModifications?: Record<string, ModificationTypeWithColor>;
10
- sortedBy?: SortedBy;
11
- showSoftClip: boolean;
12
- highResolutionScaling: number;
13
- }
14
- export interface RenderArgsDeserializedWithFeaturesAndLayout extends RenderArgsDeserialized {
15
- features: Map<string, Feature>;
16
- layout: BaseLayout<Feature>;
17
- regionSequence?: string;
18
- }
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';
19
6
  export default class PileupRenderer extends BoxRendererType {
20
7
  supportsSVG: boolean;
21
- fetchSequence(renderProps: RenderArgsDeserialized): Promise<any>;
8
+ fetchSequence(renderProps: RenderArgsDeserialized, region: Region): Promise<any>;
22
9
  getExpandedRegion(region: Region, renderArgs: RenderArgsDeserialized): {
23
10
  start: number;
24
11
  end: number;
25
- reversed?: boolean | undefined;
26
12
  refName: string;
13
+ reversed?: boolean | undefined;
27
14
  assemblyName: string;
28
15
  };
29
16
  render(renderProps: RenderArgsDeserialized): Promise<{
@@ -32,8 +19,9 @@ export default class PileupRenderer extends BoxRendererType {
32
19
  height: number;
33
20
  width: number;
34
21
  maxHeightReached: boolean;
22
+ containsNoTransferables: boolean;
35
23
  canvasRecordedData: any;
36
- reactElement?: import("react").ReactElement;
24
+ reactElement?: React.ReactElement;
37
25
  html?: string;
38
26
  } | {
39
27
  features: Map<any, any>;
@@ -41,7 +29,8 @@ export default class PileupRenderer extends BoxRendererType {
41
29
  height: number;
42
30
  width: number;
43
31
  maxHeightReached: boolean;
44
- reactElement: React.JSX.Element;
32
+ containsNoTransferables: boolean;
33
+ reactElement: import("react/jsx-runtime").JSX.Element;
45
34
  html?: string;
46
35
  } | {
47
36
  features: Map<any, any>;
@@ -49,10 +38,11 @@ export default class PileupRenderer extends BoxRendererType {
49
38
  height: number;
50
39
  width: number;
51
40
  maxHeightReached: boolean;
41
+ containsNoTransferables: boolean;
52
42
  imageData: any;
53
- reactElement?: import("react").ReactElement;
43
+ reactElement?: React.ReactElement;
54
44
  html?: string;
55
45
  }>;
56
46
  createSession(args: PileupLayoutSessionProps): PileupLayoutSession;
57
47
  }
58
- export type { RenderArgs, RenderResults, RenderArgsSerialized, ResultsSerialized, ResultsDeserialized, } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
48
+ export type { RenderArgs, RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
@@ -1,9 +1,8 @@
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
3
+ import BoxRendererType from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
4
+ import { renderToAbstractCanvas } from '@jbrowse/core/util';
5
+ import { PileupLayoutSession } from './PileupLayoutSession';
7
6
  import { fetchSequence } from '../util';
8
7
  import { layoutFeats } from './layoutFeatures';
9
8
  export default class PileupRenderer extends BoxRendererType {
@@ -11,14 +10,13 @@ export default class PileupRenderer extends BoxRendererType {
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
19
  const { dataAdapter } = await getAdapter(this.pluginManager, sessionId, sequenceAdapter);
21
- const region = regions[0];
22
20
  return fetchSequence({
23
21
  ...region,
24
22
  start: Math.max(0, region.start - 1),
@@ -31,7 +29,6 @@ export default class PileupRenderer extends BoxRendererType {
31
29
  const maxClippingSize = readConfObject(config, 'maxClippingSize');
32
30
  const bpExpansion = showSoftClip ? Math.round(maxClippingSize) : 0;
33
31
  return {
34
- // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
35
32
  ...region,
36
33
  start: Math.floor(Math.max(start - bpExpansion, 0)),
37
34
  end: Math.ceil(end + bpExpansion),
@@ -40,25 +37,22 @@ export default class PileupRenderer extends BoxRendererType {
40
37
  async render(renderProps) {
41
38
  const features = await this.getFeatures(renderProps);
42
39
  const layout = this.createLayoutInWorker(renderProps);
43
- const { regions, bpPerPx } = renderProps;
40
+ const { colorBy, regions, bpPerPx } = renderProps;
44
41
  const region = regions[0];
45
- 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({
46
46
  ...renderProps,
47
47
  features,
48
48
  layout,
49
49
  });
50
- // only need reference sequence if there are features and only for some
51
- // cases
52
- const regionSequence = features.size
53
- ? await this.fetchSequence(renderProps)
54
- : undefined;
55
50
  const width = (region.end - region.start) / bpPerPx;
56
- const height = Math.max(layout.getTotalHeight(), 1);
57
51
  const { makeImageData } = await import('./makeImageData');
58
52
  const res = await renderToAbstractCanvas(width, height, renderProps, ctx => {
59
53
  makeImageData({
60
54
  ctx,
61
- layoutRecords: layoutRecords.filter(notEmpty),
55
+ layoutRecords,
62
56
  canvasWidth: width,
63
57
  renderArgs: {
64
58
  ...renderProps,
@@ -85,6 +79,7 @@ export default class PileupRenderer extends BoxRendererType {
85
79
  height,
86
80
  width,
87
81
  maxHeightReached: layout.maxHeightReached,
82
+ containsNoTransferables: true,
88
83
  };
89
84
  }
90
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,4 @@
1
- import React from 'react';
2
- import { Region } from '@jbrowse/core/util/types';
1
+ import type { Region } from '@jbrowse/core/util/types';
3
2
  import type { BaseLinearDisplayModel } from '@jbrowse/plugin-linear-genome-view';
4
3
  declare const PileupRendering: (props: {
5
4
  blockKey: string;
@@ -23,5 +22,5 @@ declare const PileupRendering: (props: {
23
22
  };
24
23
  };
25
24
  onMouseMove?: (event: React.MouseEvent, featureId?: string) => void;
26
- }) => React.JSX.Element;
25
+ }) => import("react/jsx-runtime").JSX.Element;
27
26
  export default PileupRendering;
@@ -1,4 +1,5 @@
1
- import React, { useRef, useState, useEffect } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
2
3
  import { PrerenderedCanvas } from '@jbrowse/core/ui';
3
4
  import { bpSpanPx } from '@jbrowse/core/util';
4
5
  import { observer } from 'mobx-react';
@@ -81,9 +82,7 @@ const PileupRendering = observer(function (props) {
81
82
  onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(event, displayModel === null || displayModel === void 0 ? void 0 : displayModel.getFeatureOverlapping(blockKey, clientBp, offsetY));
82
83
  }
83
84
  function callMouseHandler(handlerName, event) {
84
- // @ts-expect-error
85
85
  const featureHandler = props[`onFeature${handlerName}`];
86
- // @ts-expect-error
87
86
  const canvasHandler = props[`on${handlerName}`];
88
87
  if (featureHandler && featureIdUnderMouse) {
89
88
  featureHandler(event, featureIdUnderMouse);
@@ -93,8 +92,7 @@ const PileupRendering = observer(function (props) {
93
92
  }
94
93
  }
95
94
  const canvasWidth = Math.ceil(width);
96
- // need to call this in render so we get the right observer behavior
97
- return (React.createElement("div", { ref: ref, "data-testid": [
95
+ return (_jsxs("div", { ref: ref, "data-testid": [
98
96
  'pileup-overlay',
99
97
  sortedBy === null || sortedBy === void 0 ? void 0 : sortedBy.type,
100
98
  colorBy === null || colorBy === void 0 ? void 0 : colorBy.type,
@@ -120,20 +118,17 @@ const PileupRendering = observer(function (props) {
120
118
  onClick(event);
121
119
  }, onContextMenu: event => {
122
120
  onContextMenu(event);
123
- }, onFocus: () => { }, onBlur: () => { } },
124
- React.createElement(PrerenderedCanvas, { ...props, style: { position: 'absolute', left: 0, top: 0 } }),
125
- firstRender && highlight ? (React.createElement("div", { style: {
126
- position: 'absolute',
127
- backgroundColor: '#0003',
128
- pointerEvents: 'none',
129
- ...highlight,
130
- } })) : null,
131
- firstRender && selected ? (React.createElement("div", { style: {
132
- position: 'absolute',
133
- border: '2px solid #00b8ff',
134
- boxSizing: 'content-box',
135
- pointerEvents: 'none',
136
- ...selected,
137
- } })) : null));
121
+ }, onFocus: () => { }, onBlur: () => { }, children: [_jsx(PrerenderedCanvas, { ...props, style: { position: 'absolute', left: 0, top: 0 } }), firstRender && highlight ? (_jsx("div", { style: {
122
+ position: 'absolute',
123
+ backgroundColor: '#0003',
124
+ pointerEvents: 'none',
125
+ ...highlight,
126
+ } })) : null, firstRender && selected ? (_jsx("div", { style: {
127
+ position: 'absolute',
128
+ border: '2px solid #00b8ff',
129
+ boxSizing: 'content-box',
130
+ pointerEvents: 'none',
131
+ ...selected,
132
+ } })) : null] }));
138
133
  });
139
134
  export default PileupRendering;
@@ -1,84 +1,58 @@
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
- */
25
+ hideSmallIndels: {
26
+ type: string;
27
+ description: string;
28
+ defaultValue: boolean;
29
+ };
41
30
  maxHeight: {
42
31
  type: string;
43
32
  description: string;
44
33
  defaultValue: number;
45
34
  };
46
- /**
47
- * #slot
48
- */
49
35
  maxClippingSize: {
50
36
  type: string;
51
37
  description: string;
52
38
  defaultValue: number;
53
39
  };
54
- /**
55
- * #slot
56
- */
57
40
  height: {
58
41
  type: string;
59
42
  description: string;
60
43
  defaultValue: number;
61
44
  contextVariable: string[];
62
45
  };
63
- /**
64
- * #slot
65
- */
66
46
  noSpacing: {
67
47
  type: string;
68
48
  description: string;
69
49
  defaultValue: boolean;
70
50
  };
71
- /**
72
- * #slot
73
- */
74
51
  largeInsertionIndicatorScale: {
75
52
  type: string;
76
53
  description: string;
77
54
  defaultValue: number;
78
55
  };
79
- /**
80
- * #slot
81
- */
82
56
  mismatchAlpha: {
83
57
  type: string;
84
58
  defaultValue: boolean;