@jbrowse/plugin-alignments 2.17.0 → 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 (445) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -1
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -12
  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 +0 -4
  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 +2 -2
  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 +6 -5
  32. package/dist/BamAdapter/BamAdapter.js +21 -39
  33. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  34. package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  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 +6 -9
  39. package/dist/CramAdapter/CramAdapter.js +18 -41
  40. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  41. package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  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 -2
  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/alignmentsModel.d.ts +2 -5
  57. package/dist/LinearAlignmentsDisplay/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/configSchema.d.ts +2 -16
  61. package/dist/LinearAlignmentsDisplay/configSchema.js +3 -20
  62. package/dist/LinearAlignmentsDisplay/index.d.ts +1 -1
  63. package/dist/LinearAlignmentsDisplay/index.js +1 -2
  64. package/dist/LinearAlignmentsDisplay/model.d.ts +6 -75
  65. package/dist/LinearAlignmentsDisplay/model.js +5 -78
  66. package/dist/LinearAlignmentsDisplay/util.d.ts +1 -1
  67. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +31 -157
  68. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +34 -133
  69. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +2 -2
  70. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +2 -2
  71. package/dist/LinearPileupDisplay/components/GroupByDialog.js +109 -56
  72. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +2 -6
  73. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +1 -1
  74. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +2 -2
  75. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +2 -2
  76. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +2 -2
  77. package/dist/LinearPileupDisplay/configSchema.d.ts +13 -16
  78. package/dist/LinearPileupDisplay/configSchema.js +12 -30
  79. package/dist/LinearPileupDisplay/index.d.ts +1 -1
  80. package/dist/LinearPileupDisplay/index.js +2 -2
  81. package/dist/LinearPileupDisplay/model.d.ts +103 -105
  82. package/dist/LinearPileupDisplay/model.js +10 -101
  83. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -1
  84. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +2 -6
  85. package/dist/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  86. package/dist/LinearReadArcsDisplay/configSchema.js +8 -31
  87. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  88. package/dist/LinearReadArcsDisplay/drawFeats.js +1 -9
  89. package/dist/LinearReadArcsDisplay/index.d.ts +1 -1
  90. package/dist/LinearReadArcsDisplay/index.js +1 -2
  91. package/dist/LinearReadArcsDisplay/model.d.ts +15 -93
  92. package/dist/LinearReadArcsDisplay/model.js +17 -104
  93. package/dist/LinearReadArcsDisplay/util.d.ts +1 -1
  94. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -1
  95. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +2 -6
  96. package/dist/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  97. package/dist/LinearReadCloudDisplay/configSchema.js +3 -28
  98. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  99. package/dist/LinearReadCloudDisplay/drawFeats.js +2 -2
  100. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  101. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  102. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  103. package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -3
  104. package/dist/LinearReadCloudDisplay/index.d.ts +1 -1
  105. package/dist/LinearReadCloudDisplay/index.js +1 -2
  106. package/dist/LinearReadCloudDisplay/model.d.ts +13 -55
  107. package/dist/LinearReadCloudDisplay/model.js +17 -68
  108. package/dist/LinearReadCloudDisplay/util.js +0 -1
  109. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  110. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +1 -1
  111. package/dist/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  112. package/dist/LinearSNPCoverageDisplay/configSchema.js +16 -32
  113. package/dist/LinearSNPCoverageDisplay/index.d.ts +1 -1
  114. package/dist/LinearSNPCoverageDisplay/index.js +1 -2
  115. package/dist/LinearSNPCoverageDisplay/model.d.ts +9 -50
  116. package/dist/LinearSNPCoverageDisplay/model.js +20 -124
  117. package/dist/MismatchParser/cigarToMismatches.d.ts +1 -1
  118. package/dist/MismatchParser/cigarToMismatches.js +4 -7
  119. package/dist/MismatchParser/getNextRefPos.js +0 -2
  120. package/dist/MismatchParser/index.d.ts +2 -2
  121. package/dist/MismatchParser/index.js +1 -9
  122. package/dist/MismatchParser/mdToMismatches.d.ts +2 -2
  123. package/dist/MismatchParser/mdToMismatches.js +0 -6
  124. package/dist/ModificationParser/index.d.ts +1 -1
  125. package/dist/ModificationParser/index.js +1 -18
  126. package/dist/PileupRPC/base.d.ts +2 -2
  127. package/dist/PileupRPC/base.js +0 -1
  128. package/dist/PileupRPC/index.d.ts +1 -1
  129. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  130. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  131. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  132. package/dist/PileupRPC/methods/GetReducedFeatures.js +3 -5
  133. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  134. package/dist/PileupRPC/methods/GetVisibleModifications.js +1 -1
  135. package/dist/PileupRPC/util.d.ts +1 -1
  136. package/dist/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  137. package/dist/PileupRenderer/PileupLayoutSession.js +2 -5
  138. package/dist/PileupRenderer/PileupRenderer.d.ts +10 -20
  139. package/dist/PileupRenderer/PileupRenderer.js +11 -16
  140. package/dist/PileupRenderer/colorBy.d.ts +2 -2
  141. package/dist/PileupRenderer/colorBy.js +0 -6
  142. package/dist/PileupRenderer/components/PileupRendering.d.ts +1 -1
  143. package/dist/PileupRenderer/components/PileupRendering.js +0 -3
  144. package/dist/PileupRenderer/configSchema.d.ts +0 -31
  145. package/dist/PileupRenderer/configSchema.js +1 -35
  146. package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  147. package/dist/PileupRenderer/getAlignmentShapeColor.js +1 -6
  148. package/dist/PileupRenderer/index.d.ts +1 -1
  149. package/dist/PileupRenderer/index.js +1 -1
  150. package/dist/PileupRenderer/layoutFeature.d.ts +2 -2
  151. package/dist/PileupRenderer/layoutFeature.js +0 -1
  152. package/dist/PileupRenderer/layoutFeatures.d.ts +5 -2
  153. package/dist/PileupRenderer/layoutFeatures.js +6 -4
  154. package/dist/PileupRenderer/makeImageData.d.ts +3 -4
  155. package/dist/PileupRenderer/makeImageData.js +8 -2
  156. package/dist/PileupRenderer/renderAlignment.d.ts +3 -3
  157. package/dist/PileupRenderer/renderAlignment.js +3 -5
  158. package/dist/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  159. package/dist/PileupRenderer/renderAlignmentShape.js +1 -1
  160. package/dist/PileupRenderer/renderMethylation.d.ts +4 -4
  161. package/dist/PileupRenderer/renderMethylation.js +0 -4
  162. package/dist/PileupRenderer/renderMismatches.d.ts +3 -3
  163. package/dist/PileupRenderer/renderMismatches.js +1 -12
  164. package/dist/PileupRenderer/renderModifications.d.ts +3 -3
  165. package/dist/PileupRenderer/renderModifications.js +1 -3
  166. package/dist/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  167. package/dist/PileupRenderer/renderPerBaseLettering.js +0 -1
  168. package/dist/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  169. package/dist/PileupRenderer/renderPerBaseQuality.js +2 -2
  170. package/dist/PileupRenderer/renderSoftClipping.d.ts +5 -5
  171. package/dist/PileupRenderer/renderSoftClipping.js +0 -4
  172. package/dist/PileupRenderer/sortUtil.d.ts +2 -2
  173. package/dist/PileupRenderer/sortUtil.js +1 -4
  174. package/dist/PileupRenderer/types.d.ts +26 -0
  175. package/dist/PileupRenderer/types.js +2 -0
  176. package/dist/PileupRenderer/util.d.ts +2 -2
  177. package/dist/PileupRenderer/util.js +1 -3
  178. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  179. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +4 -6
  180. package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -4
  181. package/dist/SNPCoverageAdapter/configSchema.js +1 -8
  182. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  183. package/dist/SNPCoverageAdapter/generateCoverageBins.js +25 -247
  184. package/dist/SNPCoverageAdapter/index.d.ts +1 -1
  185. package/dist/SNPCoverageAdapter/processDepth.d.ts +8 -0
  186. package/dist/SNPCoverageAdapter/processDepth.js +38 -0
  187. package/dist/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  188. package/dist/SNPCoverageAdapter/processMismatches.js +58 -0
  189. package/dist/SNPCoverageAdapter/processModifications.d.ts +10 -0
  190. package/dist/SNPCoverageAdapter/processModifications.js +49 -0
  191. package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  192. package/dist/SNPCoverageAdapter/processReferenceCpGs.js +63 -0
  193. package/dist/SNPCoverageAdapter/util.d.ts +10 -0
  194. package/dist/SNPCoverageAdapter/util.js +41 -0
  195. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +5 -4
  196. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +14 -38
  197. package/dist/SNPCoverageRenderer/configSchema.d.ts +0 -15
  198. package/dist/SNPCoverageRenderer/configSchema.js +1 -19
  199. package/dist/SNPCoverageRenderer/index.d.ts +1 -1
  200. package/dist/SNPCoverageRenderer/index.js +2 -2
  201. package/dist/index.d.ts +2 -2
  202. package/dist/index.js +12 -12
  203. package/dist/shared/afterAttach.d.ts +1 -1
  204. package/dist/shared/afterAttach.js +0 -2
  205. package/dist/shared/color.d.ts +1 -1
  206. package/dist/shared/color.js +0 -8
  207. package/dist/shared/components/BaseDisplayComponent.d.ts +2 -2
  208. package/dist/shared/components/BaseDisplayComponent.js +12 -11
  209. package/dist/shared/components/FilterByTagDialog.d.ts +1 -1
  210. package/dist/shared/components/FilterByTagDialog.js +2 -2
  211. package/dist/shared/fetchChains.d.ts +2 -2
  212. package/dist/shared/fetchChains.js +1 -2
  213. package/dist/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  214. package/dist/shared/getMaximumModificationAtEachPosition.js +1 -2
  215. package/dist/shared/getUniqueModifications.d.ts +5 -5
  216. package/dist/shared/getUniqueTags.d.ts +4 -4
  217. package/dist/shared/renderSvgUtil.js +0 -2
  218. package/dist/shared/util.d.ts +11 -1
  219. package/dist/shared/util.js +27 -1
  220. package/dist/util.d.ts +4 -4
  221. package/dist/util.js +3 -9
  222. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -1
  223. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -12
  224. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  225. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  226. package/esm/AlignmentsFeatureDetail/Flags.js +2 -2
  227. package/esm/AlignmentsFeatureDetail/Formatter.js +0 -3
  228. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +3 -5
  229. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +5 -10
  230. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +3 -5
  231. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +37 -36
  232. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +2 -2
  233. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +3 -4
  234. package/esm/AlignmentsFeatureDetail/PairLink.d.ts +1 -1
  235. package/esm/AlignmentsFeatureDetail/PairLink.js +0 -1
  236. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +2 -2
  237. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +5 -6
  238. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -1
  239. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +2 -6
  240. package/esm/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  241. package/esm/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
  242. package/esm/AlignmentsFeatureDetail/index.d.ts +1 -1
  243. package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  244. package/esm/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
  245. package/esm/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  246. package/esm/AlignmentsFeatureDetail/tagInfo.js +1 -1
  247. package/esm/AlignmentsFeatureDetail/util.d.ts +1 -1
  248. package/esm/AlignmentsTrack/configSchemaF.d.ts +1 -1
  249. package/esm/AlignmentsTrack/configSchemaF.js +1 -8
  250. package/esm/AlignmentsTrack/index.d.ts +1 -1
  251. package/esm/AlignmentsTrack/index.js +0 -3
  252. package/esm/BamAdapter/BamAdapter.d.ts +6 -5
  253. package/esm/BamAdapter/BamAdapter.js +19 -37
  254. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  255. package/esm/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  256. package/esm/BamAdapter/configSchema.d.ts +0 -17
  257. package/esm/BamAdapter/configSchema.js +1 -22
  258. package/esm/BamAdapter/index.d.ts +1 -1
  259. package/esm/CramAdapter/CramAdapter.d.ts +6 -9
  260. package/esm/CramAdapter/CramAdapter.js +17 -40
  261. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  262. package/esm/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  263. package/esm/CramAdapter/CramTestAdapters.d.ts +3 -3
  264. package/esm/CramAdapter/CramTestAdapters.js +4 -5
  265. package/esm/CramAdapter/configSchema.d.ts +0 -14
  266. package/esm/CramAdapter/configSchema.js +1 -19
  267. package/esm/CramAdapter/index.d.ts +1 -1
  268. package/esm/CramAdapter/index.js +0 -1
  269. package/esm/CramAdapter/util.d.ts +2 -2
  270. package/esm/CramAdapter/util.js +1 -24
  271. package/esm/GuessAlignmentsTypes/index.d.ts +1 -1
  272. package/esm/GuessAlignmentsTypes/index.js +1 -1
  273. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  274. package/esm/HtsgetBamAdapter/configSchema.d.ts +0 -9
  275. package/esm/HtsgetBamAdapter/configSchema.js +1 -14
  276. package/esm/HtsgetBamAdapter/index.d.ts +1 -1
  277. package/esm/HtsgetBamAdapter/index.js +1 -1
  278. package/esm/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
  279. package/esm/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
  280. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
  281. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +2 -2
  282. package/esm/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
  283. package/esm/LinearAlignmentsDisplay/configSchema.js +3 -20
  284. package/esm/LinearAlignmentsDisplay/index.d.ts +1 -1
  285. package/esm/LinearAlignmentsDisplay/index.js +1 -2
  286. package/esm/LinearAlignmentsDisplay/model.d.ts +6 -75
  287. package/esm/LinearAlignmentsDisplay/model.js +6 -79
  288. package/esm/LinearAlignmentsDisplay/util.d.ts +1 -1
  289. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +31 -157
  290. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +36 -135
  291. package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +2 -2
  292. package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +2 -2
  293. package/esm/LinearPileupDisplay/components/GroupByDialog.js +109 -56
  294. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +2 -6
  295. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +1 -1
  296. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +2 -2
  297. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +2 -2
  298. package/esm/LinearPileupDisplay/components/SortByTagDialog.js +2 -2
  299. package/esm/LinearPileupDisplay/configSchema.d.ts +13 -16
  300. package/esm/LinearPileupDisplay/configSchema.js +12 -30
  301. package/esm/LinearPileupDisplay/index.d.ts +1 -1
  302. package/esm/LinearPileupDisplay/index.js +2 -2
  303. package/esm/LinearPileupDisplay/model.d.ts +103 -105
  304. package/esm/LinearPileupDisplay/model.js +11 -102
  305. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -1
  306. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +2 -6
  307. package/esm/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  308. package/esm/LinearReadArcsDisplay/configSchema.js +8 -31
  309. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  310. package/esm/LinearReadArcsDisplay/drawFeats.js +1 -9
  311. package/esm/LinearReadArcsDisplay/index.d.ts +1 -1
  312. package/esm/LinearReadArcsDisplay/index.js +1 -2
  313. package/esm/LinearReadArcsDisplay/model.d.ts +15 -93
  314. package/esm/LinearReadArcsDisplay/model.js +18 -105
  315. package/esm/LinearReadArcsDisplay/util.d.ts +1 -1
  316. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -1
  317. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +2 -6
  318. package/esm/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  319. package/esm/LinearReadCloudDisplay/configSchema.js +3 -28
  320. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  321. package/esm/LinearReadCloudDisplay/drawFeats.js +2 -2
  322. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  323. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  324. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  325. package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -3
  326. package/esm/LinearReadCloudDisplay/index.d.ts +1 -1
  327. package/esm/LinearReadCloudDisplay/index.js +1 -2
  328. package/esm/LinearReadCloudDisplay/model.d.ts +13 -55
  329. package/esm/LinearReadCloudDisplay/model.js +17 -68
  330. package/esm/LinearReadCloudDisplay/util.js +0 -1
  331. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  332. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +1 -1
  333. package/esm/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  334. package/esm/LinearSNPCoverageDisplay/configSchema.js +16 -32
  335. package/esm/LinearSNPCoverageDisplay/index.d.ts +1 -1
  336. package/esm/LinearSNPCoverageDisplay/index.js +1 -2
  337. package/esm/LinearSNPCoverageDisplay/model.d.ts +9 -50
  338. package/esm/LinearSNPCoverageDisplay/model.js +21 -125
  339. package/esm/MismatchParser/cigarToMismatches.d.ts +1 -1
  340. package/esm/MismatchParser/cigarToMismatches.js +4 -7
  341. package/esm/MismatchParser/getNextRefPos.js +0 -2
  342. package/esm/MismatchParser/index.d.ts +2 -2
  343. package/esm/MismatchParser/index.js +1 -9
  344. package/esm/MismatchParser/mdToMismatches.d.ts +2 -2
  345. package/esm/MismatchParser/mdToMismatches.js +0 -6
  346. package/esm/ModificationParser/index.d.ts +1 -1
  347. package/esm/ModificationParser/index.js +1 -18
  348. package/esm/PileupRPC/base.d.ts +2 -2
  349. package/esm/PileupRPC/base.js +0 -1
  350. package/esm/PileupRPC/index.d.ts +1 -1
  351. package/esm/PileupRPC/index.js +1 -1
  352. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  353. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  354. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  355. package/esm/PileupRPC/methods/GetReducedFeatures.js +3 -5
  356. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  357. package/esm/PileupRPC/methods/GetVisibleModifications.js +1 -1
  358. package/esm/PileupRPC/util.d.ts +1 -1
  359. package/esm/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  360. package/esm/PileupRenderer/PileupLayoutSession.js +2 -5
  361. package/esm/PileupRenderer/PileupRenderer.d.ts +10 -20
  362. package/esm/PileupRenderer/PileupRenderer.js +12 -17
  363. package/esm/PileupRenderer/colorBy.d.ts +2 -2
  364. package/esm/PileupRenderer/colorBy.js +1 -7
  365. package/esm/PileupRenderer/components/PileupRendering.d.ts +1 -1
  366. package/esm/PileupRenderer/components/PileupRendering.js +1 -4
  367. package/esm/PileupRenderer/configSchema.d.ts +0 -31
  368. package/esm/PileupRenderer/configSchema.js +1 -35
  369. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  370. package/esm/PileupRenderer/getAlignmentShapeColor.js +2 -7
  371. package/esm/PileupRenderer/index.d.ts +1 -1
  372. package/esm/PileupRenderer/index.js +1 -1
  373. package/esm/PileupRenderer/layoutFeature.d.ts +2 -2
  374. package/esm/PileupRenderer/layoutFeature.js +0 -1
  375. package/esm/PileupRenderer/layoutFeatures.d.ts +5 -2
  376. package/esm/PileupRenderer/layoutFeatures.js +7 -5
  377. package/esm/PileupRenderer/makeImageData.d.ts +3 -4
  378. package/esm/PileupRenderer/makeImageData.js +8 -2
  379. package/esm/PileupRenderer/renderAlignment.d.ts +3 -3
  380. package/esm/PileupRenderer/renderAlignment.js +3 -5
  381. package/esm/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  382. package/esm/PileupRenderer/renderAlignmentShape.js +1 -1
  383. package/esm/PileupRenderer/renderMethylation.d.ts +4 -4
  384. package/esm/PileupRenderer/renderMethylation.js +0 -4
  385. package/esm/PileupRenderer/renderMismatches.d.ts +3 -3
  386. package/esm/PileupRenderer/renderMismatches.js +1 -12
  387. package/esm/PileupRenderer/renderModifications.d.ts +3 -3
  388. package/esm/PileupRenderer/renderModifications.js +1 -3
  389. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  390. package/esm/PileupRenderer/renderPerBaseLettering.js +0 -1
  391. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  392. package/esm/PileupRenderer/renderPerBaseQuality.js +2 -2
  393. package/esm/PileupRenderer/renderSoftClipping.d.ts +5 -5
  394. package/esm/PileupRenderer/renderSoftClipping.js +1 -5
  395. package/esm/PileupRenderer/sortUtil.d.ts +2 -2
  396. package/esm/PileupRenderer/sortUtil.js +1 -4
  397. package/esm/PileupRenderer/types.d.ts +26 -0
  398. package/esm/PileupRenderer/types.js +1 -0
  399. package/esm/PileupRenderer/util.d.ts +2 -2
  400. package/esm/PileupRenderer/util.js +1 -3
  401. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  402. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +5 -7
  403. package/esm/SNPCoverageAdapter/configSchema.d.ts +0 -4
  404. package/esm/SNPCoverageAdapter/configSchema.js +1 -8
  405. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  406. package/esm/SNPCoverageAdapter/generateCoverageBins.js +24 -246
  407. package/esm/SNPCoverageAdapter/index.d.ts +1 -1
  408. package/esm/SNPCoverageAdapter/processDepth.d.ts +8 -0
  409. package/esm/SNPCoverageAdapter/processDepth.js +35 -0
  410. package/esm/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  411. package/esm/SNPCoverageAdapter/processMismatches.js +55 -0
  412. package/esm/SNPCoverageAdapter/processModifications.d.ts +10 -0
  413. package/esm/SNPCoverageAdapter/processModifications.js +46 -0
  414. package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  415. package/esm/SNPCoverageAdapter/processReferenceCpGs.js +60 -0
  416. package/esm/SNPCoverageAdapter/util.d.ts +10 -0
  417. package/esm/SNPCoverageAdapter/util.js +35 -0
  418. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +5 -4
  419. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +16 -40
  420. package/esm/SNPCoverageRenderer/configSchema.d.ts +0 -15
  421. package/esm/SNPCoverageRenderer/configSchema.js +1 -19
  422. package/esm/SNPCoverageRenderer/index.d.ts +1 -1
  423. package/esm/SNPCoverageRenderer/index.js +2 -2
  424. package/esm/index.d.ts +2 -2
  425. package/esm/index.js +10 -10
  426. package/esm/shared/afterAttach.d.ts +1 -1
  427. package/esm/shared/afterAttach.js +0 -2
  428. package/esm/shared/color.d.ts +1 -1
  429. package/esm/shared/color.js +0 -8
  430. package/esm/shared/components/BaseDisplayComponent.d.ts +2 -2
  431. package/esm/shared/components/BaseDisplayComponent.js +12 -11
  432. package/esm/shared/components/FilterByTagDialog.d.ts +1 -1
  433. package/esm/shared/components/FilterByTagDialog.js +2 -2
  434. package/esm/shared/fetchChains.d.ts +2 -2
  435. package/esm/shared/fetchChains.js +1 -2
  436. package/esm/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  437. package/esm/shared/getMaximumModificationAtEachPosition.js +1 -2
  438. package/esm/shared/getUniqueModifications.d.ts +5 -5
  439. package/esm/shared/getUniqueTags.d.ts +4 -4
  440. package/esm/shared/renderSvgUtil.js +0 -2
  441. package/esm/shared/util.d.ts +11 -1
  442. package/esm/shared/util.js +24 -0
  443. package/esm/util.d.ts +4 -4
  444. package/esm/util.js +3 -9
  445. package/package.json +3 -4
@@ -1,24 +1,11 @@
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;
@@ -32,6 +19,7 @@ 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
24
  reactElement?: import("react").ReactElement;
37
25
  html?: string;
@@ -41,6 +29,7 @@ export default class PileupRenderer extends BoxRendererType {
41
29
  height: number;
42
30
  width: number;
43
31
  maxHeightReached: boolean;
32
+ containsNoTransferables: boolean;
44
33
  reactElement: React.JSX.Element;
45
34
  html?: string;
46
35
  } | {
@@ -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
43
  reactElement?: import("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';
@@ -26,12 +26,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const BoxRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType"));
30
- const util_1 = require("@jbrowse/core/util");
31
29
  const configuration_1 = require("@jbrowse/core/configuration");
32
30
  const dataAdapterCache_1 = require("@jbrowse/core/data_adapters/dataAdapterCache");
31
+ const BoxRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType"));
32
+ const util_1 = require("@jbrowse/core/util");
33
33
  const PileupLayoutSession_1 = require("./PileupLayoutSession");
34
- // locals
35
34
  const util_2 = require("../util");
36
35
  const layoutFeatures_1 = require("./layoutFeatures");
37
36
  class PileupRenderer extends BoxRendererType_1.default {
@@ -39,14 +38,13 @@ class PileupRenderer extends BoxRendererType_1.default {
39
38
  super(...arguments);
40
39
  this.supportsSVG = true;
41
40
  }
42
- async fetchSequence(renderProps) {
43
- const { sessionId, regions, adapterConfig } = renderProps;
41
+ async fetchSequence(renderProps, region) {
42
+ const { sessionId, adapterConfig } = renderProps;
44
43
  const { sequenceAdapter } = adapterConfig;
45
44
  if (!sequenceAdapter) {
46
45
  return undefined;
47
46
  }
48
47
  const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(this.pluginManager, sessionId, sequenceAdapter);
49
- const region = regions[0];
50
48
  return (0, util_2.fetchSequence)({
51
49
  ...region,
52
50
  start: Math.max(0, region.start - 1),
@@ -59,7 +57,6 @@ class PileupRenderer extends BoxRendererType_1.default {
59
57
  const maxClippingSize = (0, configuration_1.readConfObject)(config, 'maxClippingSize');
60
58
  const bpExpansion = showSoftClip ? Math.round(maxClippingSize) : 0;
61
59
  return {
62
- // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
63
60
  ...region,
64
61
  start: Math.floor(Math.max(start - bpExpansion, 0)),
65
62
  end: Math.ceil(end + bpExpansion),
@@ -68,25 +65,22 @@ class PileupRenderer extends BoxRendererType_1.default {
68
65
  async render(renderProps) {
69
66
  const features = await this.getFeatures(renderProps);
70
67
  const layout = this.createLayoutInWorker(renderProps);
71
- const { regions, bpPerPx } = renderProps;
68
+ const { colorBy, regions, bpPerPx } = renderProps;
72
69
  const region = regions[0];
73
- const layoutRecords = (0, layoutFeatures_1.layoutFeats)({
70
+ const regionSequence = (colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'methylation' && features.size
71
+ ? await this.fetchSequence(renderProps, region)
72
+ : undefined;
73
+ const { layoutRecords, height } = (0, layoutFeatures_1.layoutFeats)({
74
74
  ...renderProps,
75
75
  features,
76
76
  layout,
77
77
  });
78
- // only need reference sequence if there are features and only for some
79
- // cases
80
- const regionSequence = features.size
81
- ? await this.fetchSequence(renderProps)
82
- : undefined;
83
78
  const width = (region.end - region.start) / bpPerPx;
84
- const height = Math.max(layout.getTotalHeight(), 1);
85
79
  const { makeImageData } = await Promise.resolve().then(() => __importStar(require('./makeImageData')));
86
80
  const res = await (0, util_1.renderToAbstractCanvas)(width, height, renderProps, ctx => {
87
81
  makeImageData({
88
82
  ctx,
89
- layoutRecords: layoutRecords.filter(util_1.notEmpty),
83
+ layoutRecords,
90
84
  canvasWidth: width,
91
85
  renderArgs: {
92
86
  ...renderProps,
@@ -113,6 +107,7 @@ class PileupRenderer extends BoxRendererType_1.default {
113
107
  height,
114
108
  width,
115
109
  maxHeightReached: layout.maxHeightReached,
110
+ containsNoTransferables: true,
116
111
  };
117
112
  }
118
113
  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";
@@ -37,27 +37,21 @@ function colorByOrientation(feature, config) {
37
37
  function getStranded(feature) {
38
38
  const flags = feature.get('flags');
39
39
  const strand = feature.get('strand');
40
- // is paired
41
40
  if (flags & 1) {
42
- // first-of-pair?
43
41
  const flipper = flags & 64 ? -1 : 1;
44
- // proper pairing
45
42
  if (flags & 2) {
46
43
  return strand * flipper === 1 ? 'color_rev_strand' : 'color_fwd_strand';
47
44
  }
48
- // mate missing, separate color
49
45
  if (flags & 8) {
50
46
  return strand * flipper === 1
51
47
  ? 'color_rev_missing_mate'
52
48
  : 'color_fwd_missing_mate';
53
49
  }
54
- // same chrom without proper pairing gets separate color
55
50
  if (feature.get('refName') === feature.get('next_ref')) {
56
51
  return strand * flipper === 1
57
52
  ? 'color_rev_strand_not_proper'
58
53
  : 'color_fwd_strand_not_proper';
59
54
  }
60
- // abberant chrom
61
55
  return strand === 1 ? 'color_fwd_diff_chr' : 'color_rev_diff_chr';
62
56
  }
63
57
  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;
@@ -106,9 +106,7 @@ const PileupRendering = (0, mobx_react_1.observer)(function (props) {
106
106
  onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(event, displayModel === null || displayModel === void 0 ? void 0 : displayModel.getFeatureOverlapping(blockKey, clientBp, offsetY));
107
107
  }
108
108
  function callMouseHandler(handlerName, event) {
109
- // @ts-expect-error
110
109
  const featureHandler = props[`onFeature${handlerName}`];
111
- // @ts-expect-error
112
110
  const canvasHandler = props[`on${handlerName}`];
113
111
  if (featureHandler && featureIdUnderMouse) {
114
112
  featureHandler(event, featureIdUnderMouse);
@@ -118,7 +116,6 @@ const PileupRendering = (0, mobx_react_1.observer)(function (props) {
118
116
  }
119
117
  }
120
118
  const canvasWidth = Math.ceil(width);
121
- // need to call this in render so we get the right observer behavior
122
119
  return (react_1.default.createElement("div", { ref: ref, "data-testid": [
123
120
  'pileup-overlay',
124
121
  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;
@@ -2,33 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const configuration_1 = require("@jbrowse/core/configuration");
4
4
  const mobx_state_tree_1 = require("mobx-state-tree");
5
- /**
6
- * #config PileupRenderer
7
- */
8
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
5
+ function x() { }
9
6
  const PileupRenderer = (0, configuration_1.ConfigurationSchema)('PileupRenderer', {
10
- /**
11
- * #slot
12
- * default magenta here is used to detect the user has not customized this
13
- */
14
7
  color: {
15
8
  type: 'color',
16
9
  description: 'the color of each feature in a pileup alignment',
17
10
  defaultValue: '#f0f',
18
11
  contextVariable: ['feature'],
19
12
  },
20
- /**
21
- * #slot
22
- */
23
13
  orientationType: {
24
14
  type: 'stringEnum',
25
15
  model: mobx_state_tree_1.types.enumeration('orientationType', ['fr', 'rf', 'ff']),
26
16
  defaultValue: 'fr',
27
17
  description: 'read sequencer orientation. fr is normal "reads pointing at each other ---> <--- while some other sequencers can use other options',
28
18
  },
29
- /**
30
- * #slot
31
- */
32
19
  displayMode: {
33
20
  type: 'stringEnum',
34
21
  model: mobx_state_tree_1.types.enumeration('displayMode', [
@@ -39,58 +26,37 @@ const PileupRenderer = (0, configuration_1.ConfigurationSchema)('PileupRenderer'
39
26
  description: 'Alternative display modes',
40
27
  defaultValue: 'normal',
41
28
  },
42
- /**
43
- * #slot
44
- */
45
29
  minSubfeatureWidth: {
46
30
  type: 'number',
47
31
  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',
48
32
  defaultValue: 1,
49
33
  },
50
- /**
51
- * #slot
52
- */
53
34
  maxHeight: {
54
35
  type: 'integer',
55
36
  description: 'the maximum height to be used in a pileup rendering',
56
37
  defaultValue: 1200,
57
38
  },
58
- /**
59
- * #slot
60
- */
61
39
  maxClippingSize: {
62
40
  type: 'integer',
63
41
  description: 'the max clip size to be used in a pileup rendering',
64
42
  defaultValue: 10000,
65
43
  },
66
- /**
67
- * #slot
68
- */
69
44
  height: {
70
45
  type: 'number',
71
46
  description: 'the height of each feature in a pileup alignment',
72
47
  defaultValue: 7,
73
48
  contextVariable: ['feature'],
74
49
  },
75
- /**
76
- * #slot
77
- */
78
50
  noSpacing: {
79
51
  type: 'boolean',
80
52
  description: 'remove spacing between features',
81
53
  defaultValue: false,
82
54
  },
83
- /**
84
- * #slot
85
- */
86
55
  largeInsertionIndicatorScale: {
87
56
  type: 'number',
88
57
  description: 'scale at which to draw the large insertion indicators (bp/pixel)',
89
58
  defaultValue: 10,
90
59
  },
91
- /**
92
- * #slot
93
- */
94
60
  mismatchAlpha: {
95
61
  type: 'boolean',
96
62
  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;
@@ -2,11 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAlignmentShapeColor = getAlignmentShapeColor;
4
4
  const configuration_1 = require("@jbrowse/core/configuration");
5
- const color_1 = require("../shared/color");
6
5
  const colorBy_1 = require("./colorBy");
6
+ const color_1 = require("../shared/color");
7
7
  function getAlignmentShapeColor({ colorType, tag, feature, config, defaultColor, colorTagMap, }) {
8
- // first pass for simple color changes that change the color of the
9
- // alignment
10
8
  switch (colorType) {
11
9
  case 'insertSize':
12
10
  return (0, colorBy_1.colorByInsertSize)(feature);
@@ -54,9 +52,6 @@ function getAlignmentShapeColor({ colorType, tag, feature, config, defaultColor,
54
52
  break;
55
53
  case 'modifications':
56
54
  case 'methylation':
57
- // this coloring is similar to igv.js, and is helpful to color negative
58
- // strand reads differently because their c-g will be flipped (e.g. g-c
59
- // read right to left)
60
55
  return feature.get('flags') & 16 ? '#c8dcc8' : '#c8c8c8';
61
56
  default:
62
57
  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;
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = register;
7
7
  const PileupRenderer_1 = __importDefault(require("./PileupRenderer"));
8
- const configSchema_1 = __importDefault(require("./configSchema"));
9
8
  const PileupRendering_1 = __importDefault(require("./components/PileupRendering"));
9
+ const configSchema_1 = __importDefault(require("./configSchema"));
10
10
  function register(pluginManager) {
11
11
  pluginManager.addRendererType(() => {
12
12
  return new PileupRenderer_1.default({
@@ -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;
@@ -5,7 +5,6 @@ const util_1 = require("@jbrowse/core/util");
5
5
  function layoutFeature({ feature, layout, bpPerPx, region, showSoftClip, heightPx, displayMode, }) {
6
6
  let expansionBefore = 0;
7
7
  let expansionAfter = 0;
8
- // Expand the start and end of feature when softclipping enabled
9
8
  if (showSoftClip) {
10
9
  const mismatches = feature.get('mismatches');
11
10
  const seq = feature.get('seq');
@@ -1,2 +1,5 @@
1
- import { RenderArgsDeserializedWithFeaturesAndLayout } from './PileupRenderer';
2
- export declare function layoutFeats(props: RenderArgsDeserializedWithFeaturesAndLayout): (import("./layoutFeature").LayoutRecord | null)[];
1
+ import type { PreProcessedRenderArgs } from './types';
2
+ export declare function layoutFeats(props: PreProcessedRenderArgs): {
3
+ layoutRecords: import("./layoutFeature").LayoutRecord[];
4
+ height: number;
5
+ };
@@ -3,10 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.layoutFeats = layoutFeats;
4
4
  const configuration_1 = require("@jbrowse/core/configuration");
5
5
  const util_1 = require("@jbrowse/core/util");
6
- // locals
7
6
  const layoutFeature_1 = require("./layoutFeature");
8
7
  const sortUtil_1 = require("./sortUtil");
9
- // layout determines the height of the canvas that we use to render
10
8
  function layoutFeats(props) {
11
9
  const { layout, features, sortedBy, config, bpPerPx, showSoftClip, regions } = props;
12
10
  const region = regions[0];
@@ -15,7 +13,7 @@ function layoutFeats(props) {
15
13
  : features;
16
14
  const heightPx = (0, configuration_1.readConfObject)(config, 'height');
17
15
  const displayMode = (0, configuration_1.readConfObject)(config, 'displayMode');
18
- return (0, util_1.iterMap)(featureMap.values(), feature => (0, layoutFeature_1.layoutFeature)({
16
+ const layoutRecords = (0, util_1.iterMap)(featureMap.values(), feature => (0, layoutFeature_1.layoutFeature)({
19
17
  feature,
20
18
  layout,
21
19
  bpPerPx,
@@ -23,5 +21,9 @@ function layoutFeats(props) {
23
21
  showSoftClip,
24
22
  heightPx,
25
23
  displayMode,
26
- }), featureMap.size);
24
+ }), featureMap.size).filter(util_1.notEmpty);
25
+ return {
26
+ layoutRecords,
27
+ height: Math.max(layout.getTotalHeight(), 1),
28
+ };
27
29
  }
@@ -1,6 +1,5 @@
1
- import { Feature } from '@jbrowse/core/util';
2
- import { RenderArgsDeserializedWithFeaturesAndLayout } from './PileupRenderer';
3
- export type RenderArgsWithColor = RenderArgsDeserializedWithFeaturesAndLayout;
1
+ import type { ProcessedRenderArgs } from './types';
2
+ import type { Feature } from '@jbrowse/core/util';
4
3
  interface LayoutFeature {
5
4
  heightPx: number;
6
5
  topPx: number;
@@ -10,6 +9,6 @@ export declare function makeImageData({ ctx, layoutRecords, canvasWidth, renderA
10
9
  ctx: CanvasRenderingContext2D;
11
10
  canvasWidth: number;
12
11
  layoutRecords: LayoutFeature[];
13
- renderArgs: RenderArgsWithColor;
12
+ renderArgs: ProcessedRenderArgs;
14
13
  }): undefined;
15
14
  export {};
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeImageData = makeImageData;
4
4
  const configuration_1 = require("@jbrowse/core/configuration");
5
5
  const ui_1 = require("@jbrowse/core/ui");
6
- const util_1 = require("./util");
6
+ const stopToken_1 = require("@jbrowse/core/util/stopToken");
7
7
  const renderAlignment_1 = require("./renderAlignment");
8
8
  const renderMismatches_1 = require("./renderMismatches");
9
9
  const renderSoftClipping_1 = require("./renderSoftClipping");
10
+ const util_1 = require("./util");
10
11
  function makeImageData({ ctx, layoutRecords, canvasWidth, renderArgs, }) {
11
- const { config, showSoftClip, colorBy, theme: configTheme } = renderArgs;
12
+ const { stopToken, config, showSoftClip, colorBy, theme: configTheme, } = renderArgs;
12
13
  const mismatchAlpha = (0, configuration_1.readConfObject)(config, 'mismatchAlpha');
13
14
  const minSubfeatureWidth = (0, configuration_1.readConfObject)(config, 'minSubfeatureWidth');
14
15
  const largeInsertionIndicatorScale = (0, configuration_1.readConfObject)(config, 'largeInsertionIndicatorScale');
@@ -20,7 +21,12 @@ function makeImageData({ ctx, layoutRecords, canvasWidth, renderArgs, }) {
20
21
  const { charWidth, charHeight } = (0, util_1.getCharWidthHeight)();
21
22
  const drawSNPsMuted = (0, util_1.shouldDrawSNPsMuted)(colorBy === null || colorBy === void 0 ? void 0 : colorBy.type);
22
23
  const drawIndels = (0, util_1.shouldDrawIndels)();
24
+ let start = performance.now();
23
25
  for (const feat of layoutRecords) {
26
+ if (performance.now() - start > 400) {
27
+ (0, stopToken_1.checkStopToken)(stopToken);
28
+ start = performance.now();
29
+ }
24
30
  (0, renderAlignment_1.renderAlignment)({
25
31
  ctx,
26
32
  feat,
@@ -1,9 +1,9 @@
1
- import { LayoutFeature } from './util';
2
- import { RenderArgsWithColor } from './makeImageData';
1
+ import type { ProcessedRenderArgs } from './types';
2
+ import type { LayoutFeature } from './util';
3
3
  export declare function renderAlignment({ ctx, feat, renderArgs, colorForBase, contrastForBase, charWidth, charHeight, defaultColor, canvasWidth, }: {
4
4
  ctx: CanvasRenderingContext2D;
5
5
  feat: LayoutFeature;
6
- renderArgs: RenderArgsWithColor;
6
+ renderArgs: ProcessedRenderArgs;
7
7
  colorForBase: Record<string, string>;
8
8
  contrastForBase: Record<string, string>;
9
9
  charWidth: number;
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderAlignment = renderAlignment;
4
4
  const getAlignmentShapeColor_1 = require("./getAlignmentShapeColor");
5
5
  const renderAlignmentShape_1 = require("./renderAlignmentShape");
6
- const renderPerBaseQuality_1 = require("./renderPerBaseQuality");
7
- const renderPerBaseLettering_1 = require("./renderPerBaseLettering");
8
6
  const renderModifications_1 = require("./renderModifications");
9
- const renderMethylation_1 = require("./renderMethylation");
7
+ const renderPerBaseLettering_1 = require("./renderPerBaseLettering");
8
+ const renderPerBaseQuality_1 = require("./renderPerBaseQuality");
10
9
  const MismatchParser_1 = require("../MismatchParser");
10
+ const renderMethylation_1 = require("./renderMethylation");
11
11
  function renderAlignment({ ctx, feat, renderArgs, colorForBase, contrastForBase, charWidth, charHeight, defaultColor, canvasWidth, }) {
12
12
  const { config, bpPerPx, regions, colorBy, colorTagMap = {} } = renderArgs;
13
13
  const { tag = '', type: colorType = '' } = colorBy || {};
@@ -22,8 +22,6 @@ function renderAlignment({ ctx, feat, renderArgs, colorForBase, contrastForBase,
22
22
  colorTagMap,
23
23
  });
24
24
  (0, renderAlignmentShape_1.renderAlignmentShape)({ ctx, feat, renderArgs });
25
- // second pass for color types that render per-base things that go over the
26
- // existing drawing
27
25
  switch (colorType) {
28
26
  case 'perBaseQuality': {
29
27
  const cigarOps = (0, MismatchParser_1.parseCigar)(feature.get('CIGAR'));
@@ -1,7 +1,7 @@
1
- import { RenderArgsDeserialized } from './PileupRenderer';
2
- import { LayoutFeature } from './util';
1
+ import type { ProcessedRenderArgs } from './types';
2
+ import type { LayoutFeature } from './util';
3
3
  export declare function renderAlignmentShape({ ctx, feat, renderArgs, }: {
4
4
  ctx: CanvasRenderingContext2D;
5
5
  feat: LayoutFeature;
6
- renderArgs: RenderArgsDeserialized;
6
+ renderArgs: ProcessedRenderArgs;
7
7
  }): void;
@@ -13,7 +13,7 @@ function renderAlignmentShape({ ctx, feat, renderArgs, }) {
13
13
  const flip = region.reversed ? -1 : 1;
14
14
  const strand = feature.get('strand') * flip;
15
15
  const renderChevrons = bpPerPx < 10 && heightPx > 5;
16
- if (CIGAR.includes('N')) {
16
+ if (CIGAR === null || CIGAR === void 0 ? void 0 : CIGAR.includes('N')) {
17
17
  const cigarOps = (0, MismatchParser_1.parseCigar)(CIGAR);
18
18
  if (strand === 1) {
19
19
  let drawLen = 0;
@@ -1,12 +1,12 @@
1
- import { Region } from '@jbrowse/core/util';
2
- import { LayoutFeature } from './util';
3
- import { RenderArgsWithColor } from './makeImageData';
1
+ import type { ProcessedRenderArgs } from './types';
2
+ import type { LayoutFeature } from './util';
3
+ import type { Region } from '@jbrowse/core/util';
4
4
  export declare function renderMethylation({ ctx, feat, region, bpPerPx, renderArgs, canvasWidth, cigarOps, }: {
5
5
  ctx: CanvasRenderingContext2D;
6
6
  feat: LayoutFeature;
7
7
  region: Region;
8
8
  bpPerPx: number;
9
- renderArgs: RenderArgsWithColor;
9
+ renderArgs: ProcessedRenderArgs;
10
10
  canvasWidth: number;
11
11
  cigarOps: string[];
12
12
  }): void;
@@ -3,12 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderMethylation = renderMethylation;
4
4
  const util_1 = require("@jbrowse/core/util");
5
5
  const colord_1 = require("@jbrowse/core/util/colord");
6
- // locals
7
6
  const util_2 = require("./util");
8
7
  const ModificationParser_1 = require("../ModificationParser");
9
- // Color by methylation is slightly modified version of color by modifications
10
- // at reference CpG sites, with non-methylated CpG colored (looking only at the
11
- // MM tag can not tell you where reference CpG sites are)
12
8
  function renderMethylation({ ctx, feat, region, bpPerPx, renderArgs, canvasWidth, cigarOps, }) {
13
9
  const { regionSequence } = renderArgs;
14
10
  const { feature, topPx, heightPx } = feat;
@@ -1,9 +1,9 @@
1
- import { LayoutFeature } from './util';
2
- import { RenderArgsWithColor } from './makeImageData';
1
+ import type { ProcessedRenderArgs } from './types';
2
+ import type { LayoutFeature } from './util';
3
3
  export declare function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInsertionIndicatorScale, mismatchAlpha, charWidth, charHeight, colorForBase, contrastForBase, canvasWidth, drawSNPsMuted, drawIndels, }: {
4
4
  ctx: CanvasRenderingContext2D;
5
5
  feat: LayoutFeature;
6
- renderArgs: RenderArgsWithColor;
6
+ renderArgs: ProcessedRenderArgs;
7
7
  colorForBase: Record<string, string>;
8
8
  contrastForBase: Record<string, string>;
9
9
  mismatchAlpha?: boolean;