@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
@@ -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;
@@ -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,42 @@ 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
- */
34
+ hideSmallIndels: {
35
+ type: 'boolean',
36
+ description: 'Hides small indels, sometimes occurring in long read sequencing',
37
+ defaultValue: false,
38
+ },
53
39
  maxHeight: {
54
40
  type: 'integer',
55
41
  description: 'the maximum height to be used in a pileup rendering',
56
42
  defaultValue: 1200,
57
43
  },
58
- /**
59
- * #slot
60
- */
61
44
  maxClippingSize: {
62
45
  type: 'integer',
63
46
  description: 'the max clip size to be used in a pileup rendering',
64
47
  defaultValue: 10000,
65
48
  },
66
- /**
67
- * #slot
68
- */
69
49
  height: {
70
50
  type: 'number',
71
51
  description: 'the height of each feature in a pileup alignment',
72
52
  defaultValue: 7,
73
53
  contextVariable: ['feature'],
74
54
  },
75
- /**
76
- * #slot
77
- */
78
55
  noSpacing: {
79
56
  type: 'boolean',
80
57
  description: 'remove spacing between features',
81
58
  defaultValue: false,
82
59
  },
83
- /**
84
- * #slot
85
- */
86
60
  largeInsertionIndicatorScale: {
87
61
  type: 'number',
88
62
  description: 'scale at which to draw the large insertion indicators (bp/pixel)',
89
63
  defaultValue: 10,
90
64
  },
91
- /**
92
- * #slot
93
- */
94
65
  mismatchAlpha: {
95
66
  type: 'boolean',
96
67
  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,15 +3,17 @@ 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');
16
+ const hideSmallIndels = (0, configuration_1.readConfObject)(config, 'hideSmallIndels');
15
17
  const defaultColor = (0, configuration_1.readConfObject)(config, 'color') === '#f0f';
16
18
  const theme = (0, ui_1.createJBrowseTheme)(configTheme);
17
19
  const colorForBase = (0, util_1.getColorBaseMap)(theme);
@@ -20,7 +22,12 @@ function makeImageData({ ctx, layoutRecords, canvasWidth, renderArgs, }) {
20
22
  const { charWidth, charHeight } = (0, util_1.getCharWidthHeight)();
21
23
  const drawSNPsMuted = (0, util_1.shouldDrawSNPsMuted)(colorBy === null || colorBy === void 0 ? void 0 : colorBy.type);
22
24
  const drawIndels = (0, util_1.shouldDrawIndels)();
25
+ let start = performance.now();
23
26
  for (const feat of layoutRecords) {
27
+ if (performance.now() - start > 400) {
28
+ (0, stopToken_1.checkStopToken)(stopToken);
29
+ start = performance.now();
30
+ }
24
31
  (0, renderAlignment_1.renderAlignment)({
25
32
  ctx,
26
33
  feat,
@@ -36,6 +43,7 @@ function makeImageData({ ctx, layoutRecords, canvasWidth, renderArgs, }) {
36
43
  ctx,
37
44
  feat,
38
45
  renderArgs,
46
+ hideSmallIndels,
39
47
  mismatchAlpha,
40
48
  drawSNPsMuted,
41
49
  drawIndels,
@@ -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';
3
- export declare function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInsertionIndicatorScale, mismatchAlpha, charWidth, charHeight, colorForBase, contrastForBase, canvasWidth, drawSNPsMuted, drawIndels, }: {
1
+ import type { ProcessedRenderArgs } from './types';
2
+ import type { LayoutFeature } from './util';
3
+ export declare function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInsertionIndicatorScale, mismatchAlpha, charWidth, charHeight, colorForBase, contrastForBase, hideSmallIndels, 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;
@@ -11,6 +11,7 @@ export declare function renderMismatches({ ctx, feat, renderArgs, minSubfeatureW
11
11
  drawSNPsMuted?: boolean;
12
12
  minSubfeatureWidth: number;
13
13
  largeInsertionIndicatorScale: number;
14
+ hideSmallIndels: boolean;
14
15
  charWidth: number;
15
16
  charHeight: number;
16
17
  canvasWidth: number;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderMismatches = renderMismatches;
4
4
  const util_1 = require("@jbrowse/core/util");
5
- const util_2 = require("./util");
6
5
  const colord_1 = require("@jbrowse/core/util/colord");
7
- function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInsertionIndicatorScale, mismatchAlpha, charWidth, charHeight, colorForBase, contrastForBase, canvasWidth, drawSNPsMuted, drawIndels = true, }) {
6
+ const util_2 = require("./util");
7
+ function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInsertionIndicatorScale, mismatchAlpha, charWidth, charHeight, colorForBase, contrastForBase, hideSmallIndels, canvasWidth, drawSNPsMuted, drawIndels = true, }) {
8
8
  const { bpPerPx, regions } = renderArgs;
9
9
  const { heightPx, topPx, feature } = feat;
10
10
  const region = regions[0];
@@ -12,14 +12,10 @@ function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInse
12
12
  const pxPerBp = Math.min(1 / bpPerPx, 2);
13
13
  const mismatches = feature.get('mismatches');
14
14
  const heightLim = charHeight - 2;
15
- // extraHorizontallyFlippedOffset is used to draw interbase items, which are
16
- // located to the left when forward and right when reversed
17
15
  const extraHorizontallyFlippedOffset = region.reversed ? 1 / bpPerPx + 1 : -1;
18
16
  if (!mismatches) {
19
17
  return;
20
18
  }
21
- // two pass rendering: first pass, draw all the mismatches except wide
22
- // insertion markers
23
19
  for (const mismatch of mismatches) {
24
20
  const mstart = start + mismatch.start;
25
21
  const mlen = mismatch.length;
@@ -37,7 +33,6 @@ function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInse
37
33
  (0, util_2.fillRect)(ctx, Math.round(leftPx), topPx, widthPx, heightPx, canvasWidth, c);
38
34
  }
39
35
  if (widthPx >= charWidth && heightPx >= heightLim) {
40
- // normal SNP coloring
41
36
  const contrastColor = drawSNPsMuted
42
37
  ? 'black'
43
38
  : contrastForBase[mismatch.base] || 'black';
@@ -51,12 +46,15 @@ function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInse
51
46
  }
52
47
  }
53
48
  else if (mismatch.type === 'deletion' && drawIndels) {
54
- (0, util_2.fillRect)(ctx, leftPx, topPx, Math.abs(leftPx - rightPx), heightPx, canvasWidth, colorForBase.deletion);
55
- const txt = `${mismatch.length}`;
56
- const rwidth = (0, util_1.measureText)(txt, 10);
57
- if (widthPx >= rwidth && heightPx >= heightLim) {
58
- ctx.fillStyle = contrastForBase.deletion;
59
- ctx.fillText(txt, (leftPx + rightPx) / 2 - rwidth / 2, topPx + heightPx);
49
+ const len = mismatch.length;
50
+ if (!hideSmallIndels || len >= 10) {
51
+ (0, util_2.fillRect)(ctx, leftPx, topPx, Math.abs(leftPx - rightPx), heightPx, canvasWidth, colorForBase.deletion);
52
+ const txt = `${mismatch.length}`;
53
+ const rwidth = (0, util_1.measureText)(txt, 10);
54
+ if (widthPx >= rwidth && heightPx >= heightLim) {
55
+ ctx.fillStyle = contrastForBase.deletion;
56
+ ctx.fillText(txt, (leftPx + rightPx) / 2 - rwidth / 2, topPx + heightPx);
57
+ }
60
58
  }
61
59
  }
62
60
  else if (mismatch.type === 'insertion' && drawIndels) {
@@ -64,12 +62,14 @@ function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInse
64
62
  const len = +mismatch.base || mismatch.length;
65
63
  const insW = Math.max(0, Math.min(1.2, 1 / bpPerPx));
66
64
  if (len < 10) {
67
- (0, util_2.fillRect)(ctx, pos, topPx, insW, heightPx, canvasWidth, 'purple');
68
- if (1 / bpPerPx >= charWidth && heightPx >= heightLim) {
69
- const l = pos - insW;
70
- (0, util_2.fillRect)(ctx, l, topPx, insW * 3, 1, canvasWidth);
71
- (0, util_2.fillRect)(ctx, l, topPx + heightPx - 1, insW * 3, 1, canvasWidth);
72
- ctx.fillText(`(${mismatch.base})`, pos + 3, topPx + heightPx);
65
+ if (!hideSmallIndels) {
66
+ (0, util_2.fillRect)(ctx, pos, topPx, insW, heightPx, canvasWidth, 'purple');
67
+ if (1 / bpPerPx >= charWidth && heightPx >= heightLim) {
68
+ const l = Math.round(pos - insW);
69
+ (0, util_2.fillRect)(ctx, l, topPx, insW * 3, 1, canvasWidth);
70
+ (0, util_2.fillRect)(ctx, l, topPx + heightPx - 1, insW * 3, 1, canvasWidth);
71
+ ctx.fillText(`(${mismatch.base})`, pos + 3, topPx + heightPx);
72
+ }
73
73
  }
74
74
  }
75
75
  }
@@ -86,12 +86,7 @@ function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInse
86
86
  }
87
87
  }
88
88
  else if (mismatch.type === 'skip') {
89
- // fix to avoid bad rendering note that this was also related to chrome
90
- // bug https://bugs.chromium.org/p/chromium/issues/detail?id=1131528
91
- //
92
- // also affected firefox ref #1236 #2750
93
89
  if (leftPx + widthPx > 0) {
94
- // make small exons more visible when zoomed far out
95
90
  const adjustPx = widthPx - (bpPerPx > 10 ? 1.5 : 0);
96
91
  const l = Math.max(0, leftPx);
97
92
  const t = topPx + heightPx / 2 - 1;
@@ -101,7 +96,6 @@ function renderMismatches({ ctx, feat, renderArgs, minSubfeatureWidth, largeInse
101
96
  }
102
97
  }
103
98
  }
104
- // second pass, draw wide insertion markers on top
105
99
  if (drawIndels) {
106
100
  for (const mismatch of mismatches) {
107
101
  const mstart = start + mismatch.start;
@@ -1,12 +1,12 @@
1
+ import type { ProcessedRenderArgs } from './types';
2
+ import type { LayoutFeature } from './util';
1
3
  import type { Region } from '@jbrowse/core/util';
2
- import { LayoutFeature } from './util';
3
- import { RenderArgsWithColor } from './makeImageData';
4
4
  export declare function renderModifications({ 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;
@@ -2,11 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderModifications = renderModifications;
4
4
  const util_1 = require("@jbrowse/core/util");
5
- // locals
6
5
  const util_2 = require("./util");
7
- const util_3 = require("../shared/util");
8
6
  const getMaximumModificationAtEachPosition_1 = require("../shared/getMaximumModificationAtEachPosition");
9
- // render modifications stored in MM tag in BAM
7
+ const util_3 = require("../shared/util");
10
8
  function renderModifications({ ctx, feat, region, bpPerPx, renderArgs, canvasWidth, cigarOps, }) {
11
9
  var _a, _b, _c;
12
10
  const { feature, topPx, heightPx } = feat;
@@ -1,5 +1,5 @@
1
- import { Region } from '@jbrowse/core/util';
2
- import { LayoutFeature } from './util';
1
+ import type { LayoutFeature } from './util';
2
+ import type { Region } from '@jbrowse/core/util';
3
3
  export declare function renderPerBaseLettering({ ctx, feat, region, bpPerPx, colorForBase, contrastForBase, charWidth, charHeight, canvasWidth, cigarOps, }: {
4
4
  ctx: CanvasRenderingContext2D;
5
5
  feat: LayoutFeature;
@@ -31,7 +31,6 @@ function renderPerBaseLettering({ ctx, feat, region, bpPerPx, colorForBase, cont
31
31
  const c = colorForBase[letter];
32
32
  (0, util_2.fillRect)(ctx, leftPx, topPx, w + 0.5, heightPx, canvasWidth, c);
33
33
  if (w >= charWidth && heightPx >= heightLim) {
34
- // normal SNP coloring
35
34
  ctx.fillStyle = contrastForBase[letter];
36
35
  ctx.fillText(letter, leftPx + (w - charWidth) / 2 + 1, topPx + heightPx);
37
36
  }
@@ -1,5 +1,5 @@
1
- import { Region } from '@jbrowse/core/util';
2
- import { LayoutFeature } from './util';
1
+ import type { LayoutFeature } from './util';
2
+ import type { Region } from '@jbrowse/core/util';
3
3
  export declare function renderPerBaseQuality({ ctx, feat, region, bpPerPx, canvasWidth, cigarOps, }: {
4
4
  ctx: CanvasRenderingContext2D;
5
5
  feat: LayoutFeature;
@@ -9,8 +9,8 @@ function renderPerBaseQuality({ ctx, feat, region, bpPerPx, canvasWidth, cigarOp
9
9
  const scores = qual.split(' ').map(val => +val);
10
10
  const w = 1 / bpPerPx;
11
11
  const start = feature.get('start');
12
- let soffset = 0; // sequence offset
13
- let roffset = 0; // reference offset
12
+ let soffset = 0;
13
+ let roffset = 0;
14
14
  for (let i = 0; i < cigarOps.length; i += 2) {
15
15
  const len = +cigarOps[i];
16
16
  const op = cigarOps[i + 1];