@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,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const configuration_1 = require("@jbrowse/core/configuration");
3
4
  const ui_1 = require("@jbrowse/core/ui");
4
5
  const util_1 = require("@jbrowse/core/util");
5
- const configuration_1 = require("@jbrowse/core/configuration");
6
+ const stopToken_1 = require("@jbrowse/core/util/stopToken");
6
7
  const plugin_wiggle_1 = require("@jbrowse/plugin-wiggle");
7
8
  const util_2 = require("../shared/util");
8
- // width/height of the triangle above e.g. insertion indicators
9
9
  const INTERBASE_INDICATOR_WIDTH = 7;
10
10
  const INTERBASE_INDICATOR_HEIGHT = 4.5;
11
- // minimum read depth to draw the insertion indicators, below this the
12
- // 'statistical significance' is low
13
11
  const MINIMUM_INTERBASE_INDICATOR_READ_DEPTH = 7;
14
12
  const complementBase = {
15
13
  C: 'G',
@@ -19,22 +17,16 @@ const complementBase = {
19
17
  };
20
18
  const fudgeFactor = 0.6;
21
19
  class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
22
- // note: the snps are drawn on linear scale even if the data is drawn in log
23
- // scape hence the two different scales being used
24
20
  async draw(ctx, props) {
25
21
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
26
- const { features, regions, bpPerPx, colorBy, displayCrossHatches, visibleModifications = {}, scaleOpts, height: unadjustedHeight, theme: configTheme, config: cfg, ticks, } = props;
22
+ const { features, regions, bpPerPx, colorBy, displayCrossHatches, visibleModifications = {}, scaleOpts, height: unadjustedHeight, theme: configTheme, config: cfg, ticks, stopToken, } = props;
27
23
  const theme = (0, ui_1.createJBrowseTheme)(configTheme);
28
24
  const region = regions[0];
29
25
  const width = (region.end - region.start) / bpPerPx;
30
- // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
31
- // wiggle display, and makes the height of the actual drawn area add
32
- // "padding" to the top and bottom of the display
33
26
  const offset = plugin_wiggle_1.YSCALEBAR_LABEL_OFFSET;
34
27
  const height = unadjustedHeight - offset * 2;
35
28
  const opts = { ...scaleOpts, range: [0, height] };
36
29
  const viewScale = (0, plugin_wiggle_1.getScale)(opts);
37
- // clipping and insertion indicators, uses a smaller height/2 scale
38
30
  const indicatorViewScale = (0, plugin_wiggle_1.getScale)({
39
31
  ...opts,
40
32
  range: [0, height / 2],
@@ -46,10 +38,8 @@ class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
46
38
  const drawInterbaseCounts = (0, configuration_1.readConfObject)(cfg, 'drawInterbaseCounts');
47
39
  const drawArcs = (0, configuration_1.readConfObject)(cfg, 'drawArcs');
48
40
  const drawIndicators = (0, configuration_1.readConfObject)(cfg, 'drawIndicators');
49
- // get the y coordinate that we are plotting at, this can be log scale
50
41
  const toY = (n) => height - (viewScale(n) || 0) + offset;
51
42
  const toHeight = (n) => toY(originY) - toY(n);
52
- // used specifically for indicator
53
43
  const toY2 = (n) => height - (indicatorViewScale(n) || 0) + offset;
54
44
  const toHeight2 = (n) => toY2(originLinear) - toY2(n);
55
45
  const { bases } = theme.palette;
@@ -67,9 +57,8 @@ class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
67
57
  cpg_unmeth: 'blue',
68
58
  };
69
59
  const feats = [...features.values()];
70
- // Use two pass rendering, which helps in visualizing the SNPs at higher
71
- // bpPerPx First pass: draw the gray background
72
60
  ctx.fillStyle = colorForBase.total;
61
+ let start = performance.now();
73
62
  for (const feature of feats) {
74
63
  if (feature.get('type') === 'skip') {
75
64
  continue;
@@ -78,29 +67,22 @@ class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
78
67
  const w = rightPx - leftPx + fudgeFactor;
79
68
  const score = feature.get('score');
80
69
  ctx.fillRect(leftPx, toY(score), w, toHeight(score));
70
+ if (performance.now() - start > 400) {
71
+ (0, stopToken_1.checkStopToken)(stopToken);
72
+ start = performance.now();
73
+ }
81
74
  }
82
- // Keep track of previous total which we will use it to draw the interbase
83
- // indicator (if there is a sudden clip, there will be no read coverage but
84
- // there will be "clip" coverage) at that position beyond the read.
85
- //
86
- // if the clip is right at a block boundary then prevTotal will not be
87
- // available, so this is a best attempt to plot interbase indicator at the
88
- // "cliffs"
89
75
  let prevTotal = 0;
90
- // extraHorizontallyFlippedOffset is used to draw interbase items, which
91
- // are located to the left when forward and right when reversed
92
76
  const extraHorizontallyFlippedOffset = region.reversed ? 1 / bpPerPx : 0;
93
- // @ts-expect-error
94
77
  const drawingModifications = (colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'modifications';
95
- // @ts-expect-error
96
78
  const drawingMethylation = (colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'methylation';
97
- const isolatedModification =
98
- // @ts-expect-error
99
- (_a = colorBy === null || colorBy === void 0 ? void 0 : colorBy.modifications) === null || _a === void 0 ? void 0 : _a.isolatedModification;
100
- // Second pass: draw the SNP data, and add a minimum feature width of 1px
101
- // which can be wider than the actual bpPerPx This reduces overdrawing of
102
- // the grey background over the SNPs
79
+ const isolatedModification = (_a = colorBy === null || colorBy === void 0 ? void 0 : colorBy.modifications) === null || _a === void 0 ? void 0 : _a.isolatedModification;
80
+ start = performance.now();
103
81
  for (const feature of feats) {
82
+ const now = performance.now();
83
+ if (now - start > 400) {
84
+ (0, stopToken_1.checkStopToken)(stopToken);
85
+ }
104
86
  if (feature.get('type') === 'skip') {
105
87
  continue;
106
88
  }
@@ -123,8 +105,6 @@ class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
123
105
  continue;
124
106
  }
125
107
  const cmp = complementBase[mod.base];
126
- // this approach is inspired from the 'simplex' approach in igv
127
- // https://github.com/igvteam/igv/blob/af07c3b1be8806cfd77343ee04982aeff17d2beb/src/main/java/org/broad/igv/sam/mods/BaseModificationCoverageRenderer.java#L51
128
108
  const detectable = mod.base === 'N'
129
109
  ? score0
130
110
  : (((_c = snps[mod.base]) === null || _c === void 0 ? void 0 : _c.entryDepth) || 0) +
@@ -157,8 +137,6 @@ class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
157
137
  continue;
158
138
  }
159
139
  const cmp = complementBase[mod.base];
160
- // this approach is inspired from the 'simplex' approach in igv
161
- // https://github.com/igvteam/igv/blob/af07c3b1be8806cfd77343ee04982aeff17d2beb/src/main/java/org/broad/igv/sam/mods/BaseModificationCoverageRenderer.java#L51
162
140
  const detectable = mod.base === 'N'
163
141
  ? score0
164
142
  : (((_g = snps[mod.base]) === null || _g === void 0 ? void 0 : _g.entryDepth) || 0) +
@@ -237,8 +215,6 @@ class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
237
215
  maxBase = base;
238
216
  }
239
217
  }
240
- // avoid drawing a bunch of indicators if coverage is very low. note:
241
- // also uses the prev total in the case of the "cliff"
242
218
  const indicatorComparatorScore = Math.max(score0, prevTotal);
243
219
  if (accum > indicatorComparatorScore * indicatorThreshold &&
244
220
  indicatorComparatorScore > MINIMUM_INTERBASE_INDICATOR_READ_DEPTH) {
@@ -1,39 +1,24 @@
1
1
  declare const SNPCoverageRenderer: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot
4
- */
5
2
  clipColor: {
6
3
  type: string;
7
4
  description: string;
8
5
  defaultValue: string;
9
6
  };
10
- /**
11
- * #slot
12
- */
13
7
  indicatorThreshold: {
14
8
  type: string;
15
9
  description: string;
16
10
  defaultValue: number;
17
11
  };
18
- /**
19
- * #slot
20
- */
21
12
  drawArcs: {
22
13
  type: string;
23
14
  description: string;
24
15
  defaultValue: boolean;
25
16
  };
26
- /**
27
- * #slot
28
- */
29
17
  drawInterbaseCounts: {
30
18
  type: string;
31
19
  description: string;
32
20
  defaultValue: boolean;
33
21
  };
34
- /**
35
- * #slot
36
- */
37
22
  drawIndicators: {
38
23
  type: string;
39
24
  description: string;
@@ -1,46 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const configuration_1 = require("@jbrowse/core/configuration");
4
- /**
5
- * #config SNPCoverageRenderer
6
- */
7
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ function x() { }
8
5
  const SNPCoverageRenderer = (0, configuration_1.ConfigurationSchema)('SNPCoverageRenderer', {
9
- /**
10
- * #slot
11
- */
12
6
  clipColor: {
13
7
  type: 'color',
14
8
  description: 'the color of the clipping marker',
15
9
  defaultValue: 'red',
16
10
  },
17
- /**
18
- * #slot
19
- */
20
11
  indicatorThreshold: {
21
12
  type: 'number',
22
13
  description: 'the proportion of reads containing a insertion/clip indicator',
23
14
  defaultValue: 0.4,
24
15
  },
25
- /**
26
- * #slot
27
- */
28
16
  drawArcs: {
29
17
  type: 'boolean',
30
18
  description: 'Draw sashimi-style arcs for intron features',
31
19
  defaultValue: true,
32
20
  },
33
- /**
34
- * #slot
35
- */
36
21
  drawInterbaseCounts: {
37
22
  type: 'boolean',
38
23
  description: 'draw count "upsidedown histogram" of the interbase events that don\'t contribute to the coverage count so are not drawn in the normal histogram',
39
24
  defaultValue: true,
40
25
  },
41
- /**
42
- * #slot
43
- */
44
26
  drawIndicators: {
45
27
  type: 'boolean',
46
28
  description: 'draw a triangular indicator where an event has been detected',
@@ -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;
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = register;
7
- const configSchema_1 = __importDefault(require("./configSchema"));
8
- const SNPCoverageRenderer_1 = __importDefault(require("./SNPCoverageRenderer"));
9
7
  const plugin_wiggle_1 = require("@jbrowse/plugin-wiggle");
8
+ const SNPCoverageRenderer_1 = __importDefault(require("./SNPCoverageRenderer"));
9
+ const configSchema_1 = __importDefault(require("./configSchema"));
10
10
  function register(pluginManager) {
11
11
  pluginManager.addRendererType(() => new SNPCoverageRenderer_1.default({
12
12
  name: 'SNPCoverageRenderer',
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
- import PluginManager from '@jbrowse/core/PluginManager';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
3
  export default class AlignmentsPlugin extends Plugin {
4
4
  name: string;
5
5
  install(pluginManager: PluginManager): void;
6
6
  }
7
- export { linearPileupDisplayStateModelFactory, linearPileupDisplayConfigSchemaFactory, SharedLinearPileupDisplayMixin, } from './LinearPileupDisplay';
7
+ export { SharedLinearPileupDisplayMixin, linearPileupDisplayConfigSchemaFactory, linearPileupDisplayStateModelFactory, } from './LinearPileupDisplay';
8
8
  export { type LinearPileupDisplayModel } from './LinearPileupDisplay/model';
9
9
  export * as MismatchParser from './MismatchParser';
package/dist/index.js CHANGED
@@ -26,23 +26,23 @@ 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
- exports.MismatchParser = exports.SharedLinearPileupDisplayMixin = exports.linearPileupDisplayConfigSchemaFactory = exports.linearPileupDisplayStateModelFactory = void 0;
29
+ exports.MismatchParser = exports.linearPileupDisplayStateModelFactory = exports.linearPileupDisplayConfigSchemaFactory = exports.SharedLinearPileupDisplayMixin = void 0;
30
30
  const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
31
- const CramAdapter_1 = __importDefault(require("./CramAdapter"));
31
+ const AlignmentsFeatureDetail_1 = __importDefault(require("./AlignmentsFeatureDetail"));
32
+ const AlignmentsTrack_1 = __importDefault(require("./AlignmentsTrack"));
32
33
  const BamAdapter_1 = __importDefault(require("./BamAdapter"));
34
+ const CramAdapter_1 = __importDefault(require("./CramAdapter"));
35
+ const GuessAlignmentsTypes_1 = __importDefault(require("./GuessAlignmentsTypes"));
33
36
  const HtsgetBamAdapter_1 = __importDefault(require("./HtsgetBamAdapter"));
34
- const SNPCoverageAdapter_1 = __importDefault(require("./SNPCoverageAdapter"));
35
- const SNPCoverageRenderer_1 = __importDefault(require("./SNPCoverageRenderer"));
36
- const PileupRenderer_1 = __importDefault(require("./PileupRenderer"));
37
37
  const LinearAlignmentsDisplay_1 = __importDefault(require("./LinearAlignmentsDisplay"));
38
- const LinearSNPCoverageDisplay_1 = __importDefault(require("./LinearSNPCoverageDisplay"));
38
+ const LinearPileupDisplay_1 = __importDefault(require("./LinearPileupDisplay"));
39
39
  const LinearReadArcsDisplay_1 = __importDefault(require("./LinearReadArcsDisplay"));
40
40
  const LinearReadCloudDisplay_1 = __importDefault(require("./LinearReadCloudDisplay"));
41
- const AlignmentsTrack_1 = __importDefault(require("./AlignmentsTrack"));
42
- const AlignmentsFeatureDetail_1 = __importDefault(require("./AlignmentsFeatureDetail"));
41
+ const LinearSNPCoverageDisplay_1 = __importDefault(require("./LinearSNPCoverageDisplay"));
43
42
  const PileupRPC_1 = __importDefault(require("./PileupRPC"));
44
- const GuessAlignmentsTypes_1 = __importDefault(require("./GuessAlignmentsTypes"));
45
- const LinearPileupDisplay_1 = __importDefault(require("./LinearPileupDisplay"));
43
+ const PileupRenderer_1 = __importDefault(require("./PileupRenderer"));
44
+ const SNPCoverageAdapter_1 = __importDefault(require("./SNPCoverageAdapter"));
45
+ const SNPCoverageRenderer_1 = __importDefault(require("./SNPCoverageRenderer"));
46
46
  class AlignmentsPlugin extends Plugin_1.default {
47
47
  constructor() {
48
48
  super(...arguments);
@@ -73,7 +73,7 @@ class AlignmentsPlugin extends Plugin_1.default {
73
73
  }
74
74
  exports.default = AlignmentsPlugin;
75
75
  var LinearPileupDisplay_2 = require("./LinearPileupDisplay");
76
- Object.defineProperty(exports, "linearPileupDisplayStateModelFactory", { enumerable: true, get: function () { return LinearPileupDisplay_2.linearPileupDisplayStateModelFactory; } });
77
- Object.defineProperty(exports, "linearPileupDisplayConfigSchemaFactory", { enumerable: true, get: function () { return LinearPileupDisplay_2.linearPileupDisplayConfigSchemaFactory; } });
78
76
  Object.defineProperty(exports, "SharedLinearPileupDisplayMixin", { enumerable: true, get: function () { return LinearPileupDisplay_2.SharedLinearPileupDisplayMixin; } });
77
+ Object.defineProperty(exports, "linearPileupDisplayConfigSchemaFactory", { enumerable: true, get: function () { return LinearPileupDisplay_2.linearPileupDisplayConfigSchemaFactory; } });
78
+ Object.defineProperty(exports, "linearPileupDisplayStateModelFactory", { enumerable: true, get: function () { return LinearPileupDisplay_2.linearPileupDisplayStateModelFactory; } });
79
79
  exports.MismatchParser = __importStar(require("./MismatchParser"));
@@ -1,2 +1,2 @@
1
- import { IAnyStateTreeNode } from 'mobx-state-tree';
1
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
2
2
  export declare function doAfterAttach<T extends IAnyStateTreeNode>(self: T, cb: (self: T, ctx: CanvasRenderingContext2D, width: number, height: number) => void): void;
@@ -27,14 +27,12 @@ function doAfterAttach(self, cb) {
27
27
  self.setLastDrawnOffsetPx(view.offsetPx);
28
28
  self.setLastDrawnBpPerPx(view.bpPerPx);
29
29
  }
30
- // first autorun instantly draws if bpPerPx changes
31
30
  (0, util_2.createAutorun)(self, async () => {
32
31
  const view = (0, util_1.getContainingView)(self);
33
32
  if (view.bpPerPx !== self.lastDrawnBpPerPx) {
34
33
  draw(view);
35
34
  }
36
35
  });
37
- // second autorun draws after delay 1000 e.g. if offsetPx changes
38
36
  (0, util_2.createAutorun)(self, async () => {
39
37
  const view = (0, util_1.getContainingView)(self);
40
38
  draw(view);
@@ -1,4 +1,4 @@
1
- import { ChainStats } from './fetchChains';
1
+ import type { ChainStats } from './fetchChains';
2
2
  export declare const fillColor: {
3
3
  color_fwd_strand_not_proper: string;
4
4
  color_rev_strand_not_proper: string;
@@ -25,12 +25,6 @@ exports.fillColor = {
25
25
  color_shortinsert: 'pink',
26
26
  color_unknown: 'grey',
27
27
  };
28
- // manually calculated by running
29
- // const color = require('color')
30
- // Object.fromEntries(Object.entries(fillColor).map(([key,val])=>{
31
- // return [key, color(val).darken('0.3').hex()]
32
- // }))
33
- // this avoids (expensive) use of Color module at runtime
34
28
  exports.strokeColor = {
35
29
  color_fwd_strand_not_proper: '#CA6767',
36
30
  color_rev_strand_not_proper: '#7272AA',
@@ -67,8 +61,6 @@ function getPairedInsertSizeColor(f1, f2, stats) {
67
61
  }
68
62
  }
69
63
  const defaultColor = [exports.fillColor.color_unknown, exports.fillColor.color_unknown];
70
- // return color scheme with both insert size and orientation coloring,
71
- // prioritzing orientation coloring
72
64
  function getPairedInsertSizeAndOrientationColor(f1, f2, stats) {
73
65
  return (getPairedOrientationColorOrDefault(f1) ||
74
66
  getPairedInsertSizeColor(f1, f2, stats) ||
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { LinearReadCloudDisplayModel } from '../../LinearReadCloudDisplay/model';
3
- import { LinearReadArcsDisplayModel } from '../../LinearReadArcsDisplay/model';
2
+ import type { LinearReadArcsDisplayModel } from '../../LinearReadArcsDisplay/model';
3
+ import type { LinearReadCloudDisplayModel } from '../../LinearReadCloudDisplay/model';
4
4
  declare const BaseDisplayComponent: ({ model, children, }: {
5
5
  model: LinearReadArcsDisplayModel | LinearReadCloudDisplayModel;
6
6
  children?: React.ReactNode;
@@ -5,11 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const ui_1 = require("@jbrowse/core/ui");
8
- const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
9
- const mui_1 = require("tss-react/mui");
10
- const mobx_react_1 = require("mobx-react");
11
8
  const util_1 = require("@jbrowse/core/util");
9
+ const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
12
10
  const material_1 = require("@mui/material");
11
+ const mobx_react_1 = require("mobx-react");
12
+ const mui_1 = require("tss-react/mui");
13
13
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
14
14
  loading: {
15
15
  backgroundColor: theme.palette.background.default,
@@ -23,21 +23,22 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
23
23
  textAlign: 'center',
24
24
  },
25
25
  }));
26
- const BaseDisplayComponent = (0, mobx_react_1.observer)(function ({ model, children, }) {
27
- const { error, regionTooLarge } = model;
28
- return error ? (react_1.default.createElement(plugin_linear_genome_view_1.BlockMsg, { message: `${error}`, severity: "error", action: react_1.default.createElement(material_1.Tooltip, { title: "Reload" },
26
+ const BlockError = (0, mobx_react_1.observer)(function ({ model, }) {
27
+ const { error } = model;
28
+ return (react_1.default.createElement(plugin_linear_genome_view_1.BlockMsg, { message: `${error}`, severity: "error", action: react_1.default.createElement(material_1.Tooltip, { title: "Reload" },
29
29
  react_1.default.createElement(material_1.Button, { "data-testid": "reload_button", onClick: () => {
30
30
  model.reload();
31
- } }, "Reload")) })) : regionTooLarge ? (model.regionCannotBeRendered()) : (react_1.default.createElement(DataDisplay, { model: model }, children));
31
+ } }, "Reload")) }));
32
+ });
33
+ const BaseDisplayComponent = (0, mobx_react_1.observer)(function ({ model, children, }) {
34
+ const { error, regionTooLarge } = model;
35
+ return error ? (react_1.default.createElement(BlockError, { model: model })) : regionTooLarge ? (model.regionCannotBeRendered()) : (react_1.default.createElement(DataDisplay, { model: model }, children));
32
36
  });
33
37
  const DataDisplay = (0, mobx_react_1.observer)(function ({ model, children, }) {
34
38
  const { drawn, loading } = model;
35
39
  const view = (0, util_1.getContainingView)(model);
36
40
  const left = (model.lastDrawnOffsetPx || 0) - view.offsetPx;
37
- return (
38
- // this data-testid is located here because changing props on the canvas
39
- // itself is very sensitive to triggering ref invalidation
40
- react_1.default.createElement("div", { "data-testid": `drawn-${drawn}` },
41
+ return (react_1.default.createElement("div", { "data-testid": `drawn-${drawn}` },
41
42
  react_1.default.createElement("div", { style: { position: 'absolute', left } }, children),
42
43
  left !== 0 || loading ? react_1.default.createElement(LoadingBar, { model: model }) : null));
43
44
  });
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { FilterBy } from '../types';
2
+ import type { FilterBy } from '../types';
3
3
  declare const FilterByTagDialog: (props: {
4
4
  model: {
5
5
  filterBy: FilterBy;
@@ -24,9 +24,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
- const mobx_react_1 = require("mobx-react");
28
- const material_1 = require("@mui/material");
29
27
  const ui_1 = require("@jbrowse/core/ui");
28
+ const material_1 = require("@mui/material");
29
+ const mobx_react_1 = require("mobx-react");
30
30
  const mui_1 = require("tss-react/mui");
31
31
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
32
32
  paper: {
@@ -1,5 +1,5 @@
1
- import { LinearReadArcsDisplayModel } from '../LinearReadArcsDisplay/model';
2
- import { LinearReadCloudDisplayModel } from '../LinearReadCloudDisplay/model';
1
+ import type { LinearReadArcsDisplayModel } from '../LinearReadArcsDisplay/model';
2
+ import type { LinearReadCloudDisplayModel } from '../LinearReadCloudDisplay/model';
3
3
  export interface ReducedFeature {
4
4
  name: string;
5
5
  strand: number;
@@ -3,11 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchChains = fetchChains;
4
4
  const util_1 = require("@jbrowse/core/util");
5
5
  async function fetchChains(self) {
6
- // @ts-expect-error
7
6
  const { rpcSessionId: sessionId } = (0, util_1.getContainingTrack)(self);
8
7
  const { rpcManager } = (0, util_1.getSession)(self);
9
8
  const view = (0, util_1.getContainingView)(self);
10
- if (!view.initialized || self.error || self.regionTooLarge) {
9
+ if (!view.initialized || self.error || !self.statsReadyAndRegionNotTooLarge) {
11
10
  return;
12
11
  }
13
12
  self.setLoading(true);
@@ -1,4 +1,4 @@
1
- import { Feature } from '@jbrowse/core/util';
1
+ import type { Feature } from '@jbrowse/core/util';
2
2
  interface MaximumProbabilityMod {
3
3
  type: string;
4
4
  prob: number;
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMaxProbModAtEachPosition = getMaxProbModAtEachPosition;
4
- // locals
5
- const ModificationParser_1 = require("../ModificationParser");
6
4
  const MismatchParser_1 = require("../MismatchParser");
5
+ const ModificationParser_1 = require("../ModificationParser");
7
6
  const util_1 = require("../util");
8
7
  function getMaxProbModAtEachPosition(feature, cigarOps) {
9
8
  const fstrand = feature.get('strand');
@@ -1,14 +1,14 @@
1
- import { IAnyStateTreeNode } from 'mobx-state-tree';
2
- import { BlockSet } from '@jbrowse/core/util/blockTypes';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- import { ModificationType } from './types';
1
+ import type { ModificationType } from './types';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { BlockSet } from '@jbrowse/core/util/blockTypes';
4
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
5
5
  export declare function getUniqueModifications({ self, adapterConfig, blocks, opts, }: {
6
6
  self: IAnyStateTreeNode;
7
7
  adapterConfig: AnyConfigurationModel;
8
8
  blocks: BlockSet;
9
9
  opts?: {
10
10
  headers?: Record<string, string>;
11
- signal?: AbortSignal;
11
+ stopToken?: string;
12
12
  filters: string[];
13
13
  };
14
14
  }): Promise<ModificationType[]>;
@@ -1,6 +1,6 @@
1
- import { IAnyStateTreeNode } from 'mobx-state-tree';
2
- import { BlockSet } from '@jbrowse/core/util/blockTypes';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
1
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import type { BlockSet } from '@jbrowse/core/util/blockTypes';
3
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
4
4
  export declare function getUniqueTags({ self, tag, blocks, opts, }: {
5
5
  self: IAnyStateTreeNode & {
6
6
  adapterConfig: AnyConfigurationModel;
@@ -9,7 +9,7 @@ export declare function getUniqueTags({ self, tag, blocks, opts, }: {
9
9
  blocks: BlockSet;
10
10
  opts?: {
11
11
  headers?: Record<string, string>;
12
- signal?: AbortSignal;
12
+ stopToken?: string;
13
13
  filters: string[];
14
14
  };
15
15
  }): Promise<string[]>;
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.renderSvg = renderSvg;
30
30
  const react_1 = __importDefault(require("react"));
31
31
  const util_1 = require("@jbrowse/core/util");
32
- // stabilize clipid under test for snapshot
33
32
  function getId(id) {
34
33
  const isJest = typeof jest === 'undefined';
35
34
  return `arc-clip-${isJest ? id : 'jest'}`;
@@ -51,7 +50,6 @@ async function renderSvg(self, opts, cb) {
51
50
  return (react_1.default.createElement("image", { width: width, height: height, xlinkHref: canvas.toDataURL('image/png') }));
52
51
  }
53
52
  else {
54
- // @ts-ignore
55
53
  const C2S = await Promise.resolve().then(() => __importStar(require('canvas2svg')));
56
54
  const ctx = new C2S.default(width, height);
57
55
  cb(self, ctx, width, height);
@@ -1,10 +1,20 @@
1
- import { ChainData } from './fetchChains';
1
+ import type { ChainData } from './fetchChains';
2
2
  export declare function hasPairedReads(features: ChainData): boolean;
3
3
  export declare function alphaColor(baseColor: string, p: number): string;
4
4
  export declare const defaultFilterFlags: {
5
5
  flagInclude: number;
6
6
  flagExclude: number;
7
7
  };
8
+ export declare const negFlags: {
9
+ flagInclude: number;
10
+ flagExclude: number;
11
+ };
12
+ export declare const posFlags: {
13
+ flagInclude: number;
14
+ flagExclude: number;
15
+ };
8
16
  export declare function cacheGetter<T>(ctor: {
9
17
  prototype: T;
10
18
  }, prop: keyof T): void;
19
+ export declare function filterReadFlag(flags: number, flagInclude: number, flagExclude: number): boolean;
20
+ export declare function filterTagValue(readVal: unknown, filterVal?: string): boolean;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultFilterFlags = void 0;
3
+ exports.posFlags = exports.negFlags = exports.defaultFilterFlags = void 0;
4
4
  exports.hasPairedReads = hasPairedReads;
5
5
  exports.alphaColor = alphaColor;
6
6
  exports.cacheGetter = cacheGetter;
7
+ exports.filterReadFlag = filterReadFlag;
8
+ exports.filterTagValue = filterTagValue;
7
9
  const colord_1 = require("@jbrowse/core/util/colord");
8
10
  function hasPairedReads(features) {
9
11
  for (const f of features.chains.values()) {
@@ -24,6 +26,14 @@ exports.defaultFilterFlags = {
24
26
  flagInclude: 0,
25
27
  flagExclude: 1540,
26
28
  };
29
+ exports.negFlags = {
30
+ flagInclude: 16,
31
+ flagExclude: 1540,
32
+ };
33
+ exports.posFlags = {
34
+ flagInclude: 0,
35
+ flagExclude: 1556,
36
+ };
27
37
  function cacheGetter(ctor, prop) {
28
38
  const desc = Object.getOwnPropertyDescriptor(ctor.prototype, prop);
29
39
  const getter = desc.get;
@@ -35,3 +45,19 @@ function cacheGetter(ctor, prop) {
35
45
  },
36
46
  });
37
47
  }
48
+ function filterReadFlag(flags, flagInclude, flagExclude) {
49
+ if ((flags & flagInclude) !== flagInclude) {
50
+ return true;
51
+ }
52
+ else if (flags & flagExclude) {
53
+ return true;
54
+ }
55
+ else {
56
+ return false;
57
+ }
58
+ }
59
+ function filterTagValue(readVal, filterVal) {
60
+ return filterVal === '*'
61
+ ? readVal === undefined
62
+ : `${readVal}` !== `${filterVal}`;
63
+ }
package/dist/util.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
- import { Feature, AugmentedRegion } from '@jbrowse/core/util';
3
- import { IAnyStateTreeNode } from 'mobx-state-tree';
4
- import { IAutorunOptions } from 'mobx';
1
+ import type { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import type { AugmentedRegion, Feature } from '@jbrowse/core/util';
3
+ import type { IAutorunOptions } from 'mobx';
4
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
5
5
  export declare function getTagAlt(feature: Feature, tag: string, alt: string): any;
6
6
  export declare const orientationTypes: {
7
7
  fr: Record<string, string>;
package/dist/util.js CHANGED
@@ -7,19 +7,15 @@ exports.fetchSequence = fetchSequence;
7
7
  exports.createAutorun = createAutorun;
8
8
  exports.randomColor = randomColor;
9
9
  exports.getColorForModification = getColorForModification;
10
- const operators_1 = require("rxjs/operators");
11
- const rxjs_1 = require("rxjs");
12
- const mobx_state_tree_1 = require("mobx-state-tree");
13
10
  const mobx_1 = require("mobx");
14
- // use fallback alt tag, used in situations where upper case/lower case tags
15
- // exist e.g. Mm/MM for base modifications
11
+ const mobx_state_tree_1 = require("mobx-state-tree");
12
+ const rxjs_1 = require("rxjs");
13
+ const operators_1 = require("rxjs/operators");
16
14
  function getTagAlt(feature, tag, alt) {
17
15
  var _a;
18
16
  const tags = feature.get('tags');
19
17
  return (_a = tags[tag]) !== null && _a !== void 0 ? _a : tags[alt];
20
18
  }
21
- // orientation definitions from igv.js, see also
22
- // https://software.broadinstitute.org/software/igv/interpreting_pair_orientations
23
19
  exports.orientationTypes = {
24
20
  fr: {
25
21
  F1R2: 'LR',
@@ -90,8 +86,6 @@ async function fetchSequence(region, adapter) {
90
86
  .pipe((0, operators_1.toArray)()));
91
87
  return (_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq');
92
88
  }
93
- // adapted from IGV
94
- // https://github.com/igvteam/igv/blob/af07c3b1be8806cfd77343ee04982aeff17d2beb/src/main/resources/org/broad/igv/prefs/preferences.tab#L230-L242
95
89
  exports.modificationData = {
96
90
  m: { color: 'rgb(255,0,0)', name: '5mC' },
97
91
  h: { color: 'rgb(255,0,255)', name: '5hmC' },