@jbrowse/plugin-alignments 3.7.0 → 4.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 (669) hide show
  1. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -1
  2. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +9 -9
  3. package/esm/AlignmentsFeatureDetail/BreakpointSplitViewChoiceDialog.d.ts +1 -0
  4. package/esm/AlignmentsFeatureDetail/BreakpointSplitViewChoiceDialog.js +1 -0
  5. package/esm/AlignmentsFeatureDetail/Flags.js +1 -1
  6. package/esm/AlignmentsFeatureDetail/Formatter.js +2 -2
  7. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +2 -2
  8. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +7 -18
  9. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +1 -1
  10. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +19 -37
  11. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +1 -1
  12. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +1 -1
  13. package/esm/AlignmentsFeatureDetail/PairLink.d.ts +1 -1
  14. package/esm/AlignmentsFeatureDetail/PairLink.js +1 -1
  15. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +1 -1
  16. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +2 -2
  17. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -1
  18. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +5 -4
  19. package/esm/AlignmentsFeatureDetail/configSchema.d.ts +1 -1
  20. package/esm/AlignmentsFeatureDetail/getSAFeatures.d.ts +1 -1
  21. package/esm/AlignmentsFeatureDetail/getSAFeatures.js +18 -17
  22. package/esm/AlignmentsFeatureDetail/index.js +3 -3
  23. package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +6 -7
  24. package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.js +3 -6
  25. package/esm/AlignmentsFeatureDetail/stateModelFactory.d.ts +37 -37
  26. package/esm/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  27. package/esm/AlignmentsFeatureDetail/util.d.ts +1 -1
  28. package/esm/AlignmentsFeatureDetail/util.js +1 -2
  29. package/esm/AlignmentsTrack/configSchemaF.d.ts +16 -11
  30. package/esm/AlignmentsTrack/index.js +14 -2
  31. package/esm/BamAdapter/BamAdapter.d.ts +15 -26
  32. package/esm/BamAdapter/BamAdapter.js +84 -124
  33. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +17 -10
  34. package/esm/BamAdapter/BamSlightlyLazyFeature.js +162 -45
  35. package/esm/BamAdapter/configSchema.d.ts +5 -10
  36. package/esm/BamAdapter/configSchema.js +2 -7
  37. package/esm/BamAdapter/forEachMismatchNumeric.d.ts +2 -0
  38. package/esm/BamAdapter/forEachMismatchNumeric.js +207 -0
  39. package/esm/BamAdapter/index.js +2 -2
  40. package/esm/CramAdapter/CramAdapter.d.ts +10 -32
  41. package/esm/CramAdapter/CramAdapter.js +92 -143
  42. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +6 -2
  43. package/esm/CramAdapter/CramSlightlyLazyFeature.js +140 -19
  44. package/esm/CramAdapter/CramTestAdapters.d.ts +3 -2
  45. package/esm/CramAdapter/CramTestAdapters.js +8 -3
  46. package/esm/CramAdapter/configSchema.d.ts +2 -7
  47. package/esm/CramAdapter/configSchema.js +1 -6
  48. package/esm/CramAdapter/const.d.ts +12 -0
  49. package/esm/CramAdapter/const.js +12 -0
  50. package/esm/CramAdapter/index.js +2 -2
  51. package/esm/CramAdapter/readFeaturesToNumericCIGAR.d.ts +4 -0
  52. package/esm/CramAdapter/readFeaturesToNumericCIGAR.js +112 -0
  53. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +5 -9
  54. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js +13 -15
  55. package/esm/HtsgetBamAdapter/configSchema.d.ts +2 -7
  56. package/esm/HtsgetBamAdapter/configSchema.js +0 -5
  57. package/esm/HtsgetBamAdapter/index.js +2 -2
  58. package/esm/LinearAlignmentsDisplay/alignmentsModel.d.ts +9 -9
  59. package/esm/LinearAlignmentsDisplay/alignmentsModel.js +2 -2
  60. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
  61. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +13 -7
  62. package/esm/LinearAlignmentsDisplay/configSchema.d.ts +3 -3
  63. package/esm/LinearAlignmentsDisplay/index.js +4 -4
  64. package/esm/LinearAlignmentsDisplay/model.d.ts +173 -48
  65. package/esm/LinearAlignmentsDisplay/model.js +60 -62
  66. package/esm/LinearAlignmentsDisplay/renderSvg.d.ts +14 -0
  67. package/esm/LinearAlignmentsDisplay/renderSvg.js +12 -0
  68. package/esm/LinearAlignmentsDisplay/util.js +2 -2
  69. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +1247 -137
  70. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +120 -89
  71. package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +1 -1
  72. package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +1 -1
  73. package/esm/LinearPileupDisplay/components/GroupByDialog.js +4 -4
  74. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +1 -1
  75. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +2 -3
  76. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +1 -1
  77. package/esm/LinearPileupDisplay/components/SortByTagDialog.js +1 -1
  78. package/esm/LinearPileupDisplay/configSchema.d.ts +8 -8
  79. package/esm/LinearPileupDisplay/configSchema.js +2 -2
  80. package/esm/LinearPileupDisplay/doAfterAttach.d.ts +4 -3
  81. package/esm/LinearPileupDisplay/doAfterAttach.js +17 -26
  82. package/esm/LinearPileupDisplay/index.d.ts +3 -3
  83. package/esm/LinearPileupDisplay/index.js +6 -5
  84. package/esm/LinearPileupDisplay/model.d.ts +1289 -169
  85. package/esm/LinearPileupDisplay/model.js +71 -154
  86. package/esm/LinearPileupDisplay/sharedDoAfterAttach.d.ts +10 -0
  87. package/esm/LinearPileupDisplay/sharedDoAfterAttach.js +28 -0
  88. package/esm/LinearReadArcsDisplay/afterAttachRPC.d.ts +2 -0
  89. package/esm/LinearReadArcsDisplay/afterAttachRPC.js +21 -0
  90. package/{dist/shared → esm/LinearReadArcsDisplay}/chainToSimpleFeature.d.ts +1 -1
  91. package/esm/{shared → LinearReadArcsDisplay}/chainToSimpleFeature.js +2 -2
  92. package/esm/LinearReadArcsDisplay/components/{ReactComponent.d.ts → LinearReadArcsReactComponent.d.ts} +1 -1
  93. package/esm/LinearReadArcsDisplay/components/{ReactComponent.js → LinearReadArcsReactComponent.js} +4 -4
  94. package/esm/LinearReadArcsDisplay/configSchema.d.ts +5 -5
  95. package/esm/LinearReadArcsDisplay/configSchema.js +1 -1
  96. package/esm/LinearReadArcsDisplay/index.js +4 -3
  97. package/esm/LinearReadArcsDisplay/model.d.ts +221 -58
  98. package/esm/LinearReadArcsDisplay/model.js +73 -56
  99. package/esm/LinearReadArcsDisplay/renderSvg.d.ts +3 -0
  100. package/esm/LinearReadArcsDisplay/renderSvg.js +39 -0
  101. package/esm/LinearReadCloudDisplay/afterAttachRPC.d.ts +2 -0
  102. package/esm/LinearReadCloudDisplay/afterAttachRPC.js +56 -0
  103. package/esm/LinearReadCloudDisplay/components/CloudYScaleBar.d.ts +8 -0
  104. package/esm/LinearReadCloudDisplay/components/CloudYScaleBar.js +27 -0
  105. package/{dist/LinearReadCloudDisplay/components/ReactComponent.d.ts → esm/LinearReadCloudDisplay/components/LinearReadCloudReactComponent.d.ts} +1 -1
  106. package/esm/LinearReadCloudDisplay/components/LinearReadCloudReactComponent.js +252 -0
  107. package/esm/LinearReadCloudDisplay/components/SetFeatureHeightDialog.js +1 -1
  108. package/esm/LinearReadCloudDisplay/configSchema.d.ts +21 -5
  109. package/esm/LinearReadCloudDisplay/configSchema.js +17 -1
  110. package/esm/LinearReadCloudDisplay/index.js +8 -4
  111. package/esm/LinearReadCloudDisplay/model.d.ts +320 -58
  112. package/esm/LinearReadCloudDisplay/model.js +205 -62
  113. package/esm/LinearReadCloudDisplay/renderSvg.d.ts +3 -0
  114. package/esm/LinearReadCloudDisplay/renderSvg.js +47 -0
  115. package/esm/LinearSNPCoverageDisplay/components/ArcTooltipContents.d.ts +4 -0
  116. package/esm/LinearSNPCoverageDisplay/components/ArcTooltipContents.js +6 -0
  117. package/esm/LinearSNPCoverageDisplay/components/FilterArcsByScoreDialog.d.ts +7 -0
  118. package/esm/LinearSNPCoverageDisplay/components/FilterArcsByScoreDialog.js +16 -0
  119. package/esm/LinearSNPCoverageDisplay/components/SNPCoverageDisplayComponent.d.ts +5 -0
  120. package/esm/LinearSNPCoverageDisplay/components/SNPCoverageDisplayComponent.js +9 -0
  121. package/esm/LinearSNPCoverageDisplay/components/SashimiArcs.d.ts +10 -0
  122. package/esm/LinearSNPCoverageDisplay/components/SashimiArcs.js +169 -0
  123. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +9 -3
  124. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +31 -7
  125. package/esm/LinearSNPCoverageDisplay/components/TooltipContents.d.ts +13 -9
  126. package/esm/LinearSNPCoverageDisplay/components/TooltipContents.js +86 -59
  127. package/esm/LinearSNPCoverageDisplay/components/arcUtils.d.ts +18 -0
  128. package/esm/LinearSNPCoverageDisplay/components/arcUtils.js +42 -0
  129. package/esm/LinearSNPCoverageDisplay/components/renderSvg.d.ts +10 -0
  130. package/esm/LinearSNPCoverageDisplay/components/renderSvg.js +32 -0
  131. package/esm/LinearSNPCoverageDisplay/configSchema.d.ts +7 -7
  132. package/esm/LinearSNPCoverageDisplay/configSchema.js +2 -2
  133. package/esm/LinearSNPCoverageDisplay/index.js +5 -4
  134. package/esm/LinearSNPCoverageDisplay/model.d.ts +302 -59
  135. package/esm/LinearSNPCoverageDisplay/model.js +154 -69
  136. package/esm/MismatchParser/cigarToMismatches.d.ts +1 -1
  137. package/esm/MismatchParser/cigarToMismatches.js +6 -9
  138. package/esm/MismatchParser/cigarToMismatches2.d.ts +2 -0
  139. package/{dist/MismatchParser/cigarToMismatches.js → esm/MismatchParser/cigarToMismatches2.js} +23 -28
  140. package/esm/MismatchParser/getNextRefPos.d.ts +1 -1
  141. package/esm/MismatchParser/getNextRefPos.js +13 -11
  142. package/esm/MismatchParser/index.d.ts +6 -3
  143. package/esm/MismatchParser/index.js +49 -11
  144. package/esm/MismatchParser/mdToMismatches.d.ts +1 -1
  145. package/esm/MismatchParser/mdToMismatches.js +87 -53
  146. package/esm/MismatchParser/mdToMismatches2.d.ts +2 -0
  147. package/esm/MismatchParser/mdToMismatches2.js +96 -0
  148. package/esm/ModificationParser/detectSimplexModifications.d.ts +1 -1
  149. package/esm/ModificationParser/getMethBins.d.ts +1 -1
  150. package/esm/ModificationParser/getMethBins.js +5 -5
  151. package/esm/ModificationParser/getModPositions.js +1 -1
  152. package/esm/ModificationParser/getModProbabilities.js +1 -1
  153. package/esm/ModificationParser/getModTypes.js +1 -1
  154. package/esm/PileupRPC/base.js +1 -2
  155. package/esm/PileupRPC/index.js +1 -2
  156. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +1 -1
  157. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +3 -6
  158. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +2 -2
  159. package/esm/PileupRPC/methods/GetVisibleModifications.js +5 -8
  160. package/esm/PileupRPC/rpcMethods.d.ts +2 -3
  161. package/esm/PileupRPC/rpcMethods.js +2 -3
  162. package/esm/PileupRenderer/PileupLayoutSession.d.ts +9 -9
  163. package/esm/PileupRenderer/PileupLayoutSession.js +18 -5
  164. package/esm/PileupRenderer/PileupRenderer.d.ts +5 -47
  165. package/esm/PileupRenderer/PileupRenderer.js +25 -67
  166. package/esm/PileupRenderer/colorBy.js +2 -2
  167. package/esm/PileupRenderer/components/PileupRendering.d.ts +5 -5
  168. package/esm/PileupRenderer/components/PileupRendering.js +150 -116
  169. package/esm/PileupRenderer/components/PileupTooltip.d.ts +10 -0
  170. package/esm/PileupRenderer/components/PileupTooltip.js +12 -0
  171. package/esm/PileupRenderer/components/util.d.ts +7 -0
  172. package/esm/PileupRenderer/components/util.js +17 -0
  173. package/esm/PileupRenderer/configSchema.d.ts +14 -4
  174. package/esm/PileupRenderer/configSchema.js +11 -1
  175. package/esm/PileupRenderer/index.js +4 -4
  176. package/esm/PileupRenderer/layoutFeature.d.ts +4 -12
  177. package/esm/PileupRenderer/layoutFeature.js +13 -18
  178. package/esm/PileupRenderer/layoutFeatures.d.ts +2 -2
  179. package/esm/PileupRenderer/layoutFeatures.js +21 -16
  180. package/esm/PileupRenderer/makeImageData.d.ts +20 -17
  181. package/esm/PileupRenderer/makeImageData.js +66 -12
  182. package/esm/PileupRenderer/renderers/cigarUtil.d.ts +18 -0
  183. package/esm/PileupRenderer/renderers/cigarUtil.js +23 -0
  184. package/esm/PileupRenderer/renderers/getAlignmentShapeColor.js +2 -2
  185. package/esm/PileupRenderer/renderers/renderAlignment.d.ts +2 -2
  186. package/esm/PileupRenderer/renderers/renderAlignment.js +28 -32
  187. package/esm/PileupRenderer/renderers/renderAlignmentShape.d.ts +6 -3
  188. package/esm/PileupRenderer/renderers/renderAlignmentShape.js +113 -65
  189. package/esm/PileupRenderer/renderers/renderMethylation.d.ts +8 -6
  190. package/esm/PileupRenderer/renderers/renderMethylation.js +67 -27
  191. package/esm/PileupRenderer/renderers/renderMismatchesCallback.d.ts +32 -0
  192. package/esm/PileupRenderer/renderers/renderMismatchesCallback.js +304 -0
  193. package/esm/PileupRenderer/renderers/renderModifications.d.ts +11 -6
  194. package/esm/PileupRenderer/renderers/renderModifications.js +59 -41
  195. package/esm/PileupRenderer/renderers/renderPerBaseLettering.d.ts +2 -2
  196. package/esm/PileupRenderer/renderers/renderPerBaseLettering.js +38 -18
  197. package/esm/PileupRenderer/renderers/renderPerBaseQuality.d.ts +3 -4
  198. package/esm/PileupRenderer/renderers/renderPerBaseQuality.js +32 -16
  199. package/esm/PileupRenderer/renderers/renderSoftClipping.d.ts +2 -2
  200. package/esm/PileupRenderer/renderers/renderSoftClipping.js +45 -26
  201. package/esm/PileupRenderer/sortUtil.d.ts +2 -2
  202. package/esm/PileupRenderer/sortUtil.js +34 -22
  203. package/esm/PileupRenderer/types.d.ts +32 -7
  204. package/esm/PileupRenderer/types.js +71 -1
  205. package/esm/PileupRenderer/util.d.ts +1 -22
  206. package/esm/PileupRenderer/util.js +12 -38
  207. package/esm/RenderLinearReadArcsDisplayRPC/RenderLinearReadArcsDisplay.d.ts +34 -0
  208. package/esm/RenderLinearReadArcsDisplayRPC/RenderLinearReadArcsDisplay.js +49 -0
  209. package/esm/RenderLinearReadArcsDisplayRPC/drawFeatsRPC.d.ts +24 -0
  210. package/esm/RenderLinearReadArcsDisplayRPC/drawFeatsRPC.js +156 -0
  211. package/esm/RenderLinearReadArcsDisplayRPC/executeRenderLinearReadArcsDisplay.d.ts +6 -0
  212. package/esm/RenderLinearReadArcsDisplayRPC/executeRenderLinearReadArcsDisplay.js +105 -0
  213. package/{dist/GuessAlignmentsTypes → esm/RenderLinearReadArcsDisplayRPC}/index.d.ts +1 -1
  214. package/esm/RenderLinearReadArcsDisplayRPC/index.js +4 -0
  215. package/esm/RenderLinearReadCloudDisplayRPC/RenderLinearReadCloudDisplay.d.ts +43 -0
  216. package/esm/RenderLinearReadCloudDisplayRPC/RenderLinearReadCloudDisplay.js +49 -0
  217. package/esm/RenderLinearReadCloudDisplayRPC/drawChainsUtil.d.ts +82 -0
  218. package/esm/RenderLinearReadCloudDisplayRPC/drawChainsUtil.js +164 -0
  219. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCloud.d.ts +17 -0
  220. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCloud.js +53 -0
  221. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCommon.d.ts +72 -0
  222. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCommon.js +277 -0
  223. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsStack.d.ts +5 -0
  224. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsStack.js +16 -0
  225. package/esm/RenderLinearReadCloudDisplayRPC/drawLongReadChains.d.ts +27 -0
  226. package/esm/RenderLinearReadCloudDisplayRPC/drawLongReadChains.js +101 -0
  227. package/esm/RenderLinearReadCloudDisplayRPC/drawPairChains.d.ts +27 -0
  228. package/esm/RenderLinearReadCloudDisplayRPC/drawPairChains.js +95 -0
  229. package/esm/RenderLinearReadCloudDisplayRPC/executeRenderLinearReadCloudDisplay.d.ts +6 -0
  230. package/esm/RenderLinearReadCloudDisplayRPC/executeRenderLinearReadCloudDisplay.js +142 -0
  231. package/esm/RenderLinearReadCloudDisplayRPC/index.d.ts +2 -0
  232. package/esm/RenderLinearReadCloudDisplayRPC/index.js +4 -0
  233. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +18 -3
  234. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +205 -37
  235. package/esm/SNPCoverageAdapter/configSchema.d.ts +6 -2
  236. package/esm/SNPCoverageAdapter/configSchema.js +4 -0
  237. package/esm/SNPCoverageAdapter/generateCoverageBinsPrefixSum.d.ts +26 -0
  238. package/esm/SNPCoverageAdapter/generateCoverageBinsPrefixSum.js +438 -0
  239. package/esm/SNPCoverageAdapter/index.js +2 -2
  240. package/esm/SNPCoverageAdapter/processDepthPrefixSum.d.ts +10 -0
  241. package/esm/SNPCoverageAdapter/processDepthPrefixSum.js +55 -0
  242. package/esm/SNPCoverageAdapter/processModifications.d.ts +1 -1
  243. package/esm/SNPCoverageAdapter/processModifications.js +26 -38
  244. package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +2 -3
  245. package/esm/SNPCoverageAdapter/processReferenceCpGs.js +46 -44
  246. package/esm/SNPCoverageAdapter/util.d.ts +9 -5
  247. package/esm/SNPCoverageAdapter/util.js +48 -28
  248. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +14 -4
  249. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +29 -8
  250. package/esm/SNPCoverageRenderer/WiggleRendering.d.ts +14 -0
  251. package/esm/SNPCoverageRenderer/WiggleRendering.js +33 -0
  252. package/esm/SNPCoverageRenderer/calculateModificationCounts.d.ts +20 -0
  253. package/esm/SNPCoverageRenderer/calculateModificationCounts.js +22 -0
  254. package/esm/SNPCoverageRenderer/components/SNPCoverageRendering.d.ts +18 -0
  255. package/esm/SNPCoverageRenderer/components/SNPCoverageRendering.js +114 -0
  256. package/esm/SNPCoverageRenderer/configSchema.d.ts +2 -2
  257. package/esm/SNPCoverageRenderer/index.js +4 -4
  258. package/esm/SNPCoverageRenderer/makeImage.d.ts +2 -2
  259. package/esm/SNPCoverageRenderer/makeImage.js +372 -200
  260. package/esm/SNPCoverageRenderer/types.d.ts +54 -5
  261. package/esm/SNPCoverageRenderer/types.js +103 -1
  262. package/esm/SVGErrorBox.d.ts +5 -0
  263. package/esm/SVGErrorBox.js +4 -0
  264. package/esm/index.d.ts +3 -3
  265. package/esm/index.js +23 -21
  266. package/esm/saveTrackFormats/sam.d.ts +6 -0
  267. package/esm/saveTrackFormats/sam.js +42 -0
  268. package/esm/shared/LinearReadArcsDisplaySettingsMixin.d.ts +14 -0
  269. package/esm/shared/LinearReadArcsDisplaySettingsMixin.js +33 -0
  270. package/esm/shared/LinearReadDisplayBaseMixin.d.ts +20 -11
  271. package/esm/shared/LinearReadDisplayBaseMixin.js +5 -21
  272. package/esm/shared/LinearReadDisplayWithLayoutMixin.d.ts +8 -3
  273. package/esm/shared/LinearReadDisplayWithLayoutMixin.js +9 -1
  274. package/esm/shared/LinearReadDisplayWithPairFiltersMixin.d.ts +6 -6
  275. package/esm/shared/LinearReadDisplayWithPairFiltersMixin.js +1 -1
  276. package/esm/shared/SharedModificationsMixin.d.ts +12 -0
  277. package/esm/shared/SharedModificationsMixin.js +40 -0
  278. package/esm/shared/afterAttach.d.ts +1 -1
  279. package/esm/shared/afterAttach.js +1 -5
  280. package/esm/shared/arcUtils.d.ts +20 -0
  281. package/esm/shared/arcUtils.js +73 -0
  282. package/esm/shared/canvasUtils.d.ts +1 -1
  283. package/esm/shared/canvasUtils.js +9 -14
  284. package/esm/shared/color.d.ts +21 -15
  285. package/esm/shared/color.js +41 -21
  286. package/esm/shared/components/FilterByTagDialog.d.ts +1 -1
  287. package/esm/shared/components/FilterByTagDialog.js +4 -5
  288. package/esm/shared/components/SetFeatureHeightDialog.js +1 -1
  289. package/esm/shared/components/SetMaxHeightDialog.js +3 -3
  290. package/esm/{LinearPileupDisplay → shared}/components/SetModificationThresholdDialog.d.ts +1 -1
  291. package/esm/{LinearPileupDisplay → shared}/components/SetModificationThresholdDialog.js +1 -1
  292. package/esm/shared/createRPCRenderingSetup.d.ts +37 -0
  293. package/esm/shared/createRPCRenderingSetup.js +82 -0
  294. package/esm/shared/decodeSeq.d.ts +2 -0
  295. package/esm/shared/decodeSeq.js +26 -0
  296. package/esm/shared/flatbushType.d.ts +16 -3
  297. package/esm/shared/forEachMismatchTypes.d.ts +18 -0
  298. package/esm/shared/forEachMismatchTypes.js +24 -0
  299. package/esm/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  300. package/esm/shared/getMaximumModificationAtEachPosition.js +6 -7
  301. package/esm/shared/getUniqueModifications.d.ts +5 -3
  302. package/esm/shared/getUniqueModifications.js +3 -2
  303. package/esm/shared/getUniqueTags.d.ts +2 -2
  304. package/esm/shared/getUniqueTags.js +2 -1
  305. package/{dist/PileupRPC/util.d.ts → esm/shared/insertSizeStats.d.ts} +2 -2
  306. package/esm/shared/insertSizeStats.js +23 -0
  307. package/esm/shared/legendUtils.d.ts +8 -0
  308. package/esm/shared/legendUtils.js +123 -0
  309. package/esm/shared/menuItems.d.ts +101 -5
  310. package/esm/shared/menuItems.js +224 -21
  311. package/esm/shared/modificationData.js +1 -2
  312. package/esm/shared/primaryStrand.d.ts +3 -3
  313. package/esm/shared/primaryStrand.js +10 -8
  314. package/esm/shared/samFlags.d.ts +12 -0
  315. package/esm/shared/samFlags.js +12 -0
  316. package/esm/shared/setupModificationsAutorun.d.ts +11 -0
  317. package/esm/shared/setupModificationsAutorun.js +27 -0
  318. package/esm/shared/types.d.ts +68 -7
  319. package/esm/shared/util.d.ts +52 -1
  320. package/esm/shared/util.js +118 -1
  321. package/esm/svgExportUtil.d.ts +9 -0
  322. package/esm/svgExportUtil.js +6 -0
  323. package/esm/util.d.ts +3 -3
  324. package/esm/util.js +8 -11
  325. package/package.json +33 -38
  326. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +0 -5
  327. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +0 -63
  328. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +0 -1
  329. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -5
  330. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +0 -1
  331. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -5
  332. package/dist/AlignmentsFeatureDetail/Flags.d.ts +0 -3
  333. package/dist/AlignmentsFeatureDetail/Flags.js +0 -41
  334. package/dist/AlignmentsFeatureDetail/Formatter.d.ts +0 -3
  335. package/dist/AlignmentsFeatureDetail/Formatter.js +0 -23
  336. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +0 -6
  337. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +0 -84
  338. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +0 -6
  339. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +0 -107
  340. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +0 -6
  341. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +0 -22
  342. package/dist/AlignmentsFeatureDetail/PairLink.d.ts +0 -5
  343. package/dist/AlignmentsFeatureDetail/PairLink.js +0 -12
  344. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +0 -7
  345. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +0 -23
  346. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +0 -5
  347. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +0 -29
  348. package/dist/AlignmentsFeatureDetail/configSchema.d.ts +0 -1
  349. package/dist/AlignmentsFeatureDetail/configSchema.js +0 -5
  350. package/dist/AlignmentsFeatureDetail/getSAFeatures.d.ts +0 -23
  351. package/dist/AlignmentsFeatureDetail/getSAFeatures.js +0 -36
  352. package/dist/AlignmentsFeatureDetail/index.d.ts +0 -2
  353. package/dist/AlignmentsFeatureDetail/index.js +0 -52
  354. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +0 -22
  355. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.js +0 -49
  356. package/dist/AlignmentsFeatureDetail/stateModelFactory.d.ts +0 -103
  357. package/dist/AlignmentsFeatureDetail/stateModelFactory.js +0 -10
  358. package/dist/AlignmentsFeatureDetail/tagInfo.d.ts +0 -63
  359. package/dist/AlignmentsFeatureDetail/tagInfo.js +0 -66
  360. package/dist/AlignmentsFeatureDetail/util.d.ts +0 -6
  361. package/dist/AlignmentsFeatureDetail/util.js +0 -25
  362. package/dist/AlignmentsTrack/configSchemaF.d.ts +0 -79
  363. package/dist/AlignmentsTrack/configSchemaF.js +0 -11
  364. package/dist/AlignmentsTrack/index.d.ts +0 -2
  365. package/dist/AlignmentsTrack/index.js +0 -23
  366. package/dist/BamAdapter/BamAdapter.d.ts +0 -44
  367. package/dist/BamAdapter/BamAdapter.js +0 -181
  368. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +0 -17
  369. package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -69
  370. package/dist/BamAdapter/configSchema.d.ts +0 -34
  371. package/dist/BamAdapter/configSchema.js +0 -58
  372. package/dist/BamAdapter/index.d.ts +0 -2
  373. package/dist/BamAdapter/index.js +0 -51
  374. package/dist/CramAdapter/CramAdapter.d.ts +0 -53
  375. package/dist/CramAdapter/CramAdapter.js +0 -228
  376. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +0 -33
  377. package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -125
  378. package/dist/CramAdapter/CramTestAdapters.d.ts +0 -28
  379. package/dist/CramAdapter/CramTestAdapters.js +0 -85
  380. package/dist/CramAdapter/configSchema.d.ts +0 -27
  381. package/dist/CramAdapter/configSchema.js +0 -48
  382. package/dist/CramAdapter/index.d.ts +0 -2
  383. package/dist/CramAdapter/index.js +0 -51
  384. package/dist/CramAdapter/readFeaturesToCIGAR.d.ts +0 -9
  385. package/dist/CramAdapter/readFeaturesToCIGAR.js +0 -212
  386. package/dist/CramAdapter/readFeaturesToMismatches.d.ts +0 -5
  387. package/dist/CramAdapter/readFeaturesToMismatches.js +0 -106
  388. package/dist/GuessAlignmentsTypes/index.js +0 -41
  389. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +0 -12
  390. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +0 -27
  391. package/dist/HtsgetBamAdapter/configSchema.d.ts +0 -18
  392. package/dist/HtsgetBamAdapter/configSchema.js +0 -22
  393. package/dist/HtsgetBamAdapter/index.d.ts +0 -2
  394. package/dist/HtsgetBamAdapter/index.js +0 -54
  395. package/dist/LinearAlignmentsDisplay/alignmentsModel.d.ts +0 -12
  396. package/dist/LinearAlignmentsDisplay/alignmentsModel.js +0 -18
  397. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +0 -5
  398. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +0 -35
  399. package/dist/LinearAlignmentsDisplay/configSchema.d.ts +0 -36
  400. package/dist/LinearAlignmentsDisplay/configSchema.js +0 -19
  401. package/dist/LinearAlignmentsDisplay/index.d.ts +0 -2
  402. package/dist/LinearAlignmentsDisplay/index.js +0 -24
  403. package/dist/LinearAlignmentsDisplay/model.d.ts +0 -126
  404. package/dist/LinearAlignmentsDisplay/model.js +0 -222
  405. package/dist/LinearAlignmentsDisplay/util.d.ts +0 -2
  406. package/dist/LinearAlignmentsDisplay/util.js +0 -9
  407. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +0 -409
  408. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +0 -524
  409. package/dist/LinearPileupDisplay/components/ColorByTagDialog.d.ts +0 -11
  410. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +0 -20
  411. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +0 -10
  412. package/dist/LinearPileupDisplay/components/GroupByDialog.js +0 -145
  413. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +0 -7
  414. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +0 -11
  415. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +0 -10
  416. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +0 -26
  417. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +0 -8
  418. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +0 -28
  419. package/dist/LinearPileupDisplay/components/SetModificationThresholdDialog.d.ts +0 -10
  420. package/dist/LinearPileupDisplay/components/SetModificationThresholdDialog.js +0 -39
  421. package/dist/LinearPileupDisplay/components/SortByTagDialog.d.ts +0 -7
  422. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +0 -26
  423. package/dist/LinearPileupDisplay/configSchema.d.ts +0 -61
  424. package/dist/LinearPileupDisplay/configSchema.js +0 -40
  425. package/dist/LinearPileupDisplay/doAfterAttach.d.ts +0 -21
  426. package/dist/LinearPileupDisplay/doAfterAttach.js +0 -72
  427. package/dist/LinearPileupDisplay/index.d.ts +0 -5
  428. package/dist/LinearPileupDisplay/index.js +0 -32
  429. package/dist/LinearPileupDisplay/model.d.ts +0 -515
  430. package/dist/LinearPileupDisplay/model.js +0 -399
  431. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +0 -5
  432. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +0 -23
  433. package/dist/LinearReadArcsDisplay/configSchema.d.ts +0 -61
  434. package/dist/LinearReadArcsDisplay/configSchema.js +0 -36
  435. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +0 -2
  436. package/dist/LinearReadArcsDisplay/drawFeats.js +0 -152
  437. package/dist/LinearReadArcsDisplay/index.d.ts +0 -2
  438. package/dist/LinearReadArcsDisplay/index.js +0 -58
  439. package/dist/LinearReadArcsDisplay/model.d.ts +0 -189
  440. package/dist/LinearReadArcsDisplay/model.js +0 -199
  441. package/dist/LinearReadArcsDisplay/util.d.ts +0 -2
  442. package/dist/LinearReadArcsDisplay/util.js +0 -11
  443. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +0 -105
  444. package/dist/LinearReadCloudDisplay/components/SetFeatureHeightDialog.d.ts +0 -10
  445. package/dist/LinearReadCloudDisplay/components/SetFeatureHeightDialog.js +0 -26
  446. package/dist/LinearReadCloudDisplay/configSchema.d.ts +0 -55
  447. package/dist/LinearReadCloudDisplay/configSchema.js +0 -30
  448. package/dist/LinearReadCloudDisplay/drawFeatsAbstract.d.ts +0 -2
  449. package/dist/LinearReadCloudDisplay/drawFeatsAbstract.js +0 -13
  450. package/dist/LinearReadCloudDisplay/drawFeatsCloud.d.ts +0 -2
  451. package/dist/LinearReadCloudDisplay/drawFeatsCloud.js +0 -24
  452. package/dist/LinearReadCloudDisplay/drawFeatsCommon.d.ts +0 -23
  453. package/dist/LinearReadCloudDisplay/drawFeatsCommon.js +0 -198
  454. package/dist/LinearReadCloudDisplay/drawFeatsStack.d.ts +0 -2
  455. package/dist/LinearReadCloudDisplay/drawFeatsStack.js +0 -36
  456. package/dist/LinearReadCloudDisplay/index.d.ts +0 -2
  457. package/dist/LinearReadCloudDisplay/index.js +0 -58
  458. package/dist/LinearReadCloudDisplay/model.d.ts +0 -195
  459. package/dist/LinearReadCloudDisplay/model.js +0 -213
  460. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +0 -12
  461. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +0 -15
  462. package/dist/LinearSNPCoverageDisplay/components/TooltipContents.d.ts +0 -14
  463. package/dist/LinearSNPCoverageDisplay/components/TooltipContents.js +0 -177
  464. package/dist/LinearSNPCoverageDisplay/configSchema.d.ts +0 -80
  465. package/dist/LinearSNPCoverageDisplay/configSchema.js +0 -62
  466. package/dist/LinearSNPCoverageDisplay/index.d.ts +0 -2
  467. package/dist/LinearSNPCoverageDisplay/index.js +0 -24
  468. package/dist/LinearSNPCoverageDisplay/model.d.ts +0 -111
  469. package/dist/LinearSNPCoverageDisplay/model.js +0 -273
  470. package/dist/MismatchParser/cigarToMismatches.d.ts +0 -2
  471. package/dist/MismatchParser/getNextRefPos.d.ts +0 -4
  472. package/dist/MismatchParser/getNextRefPos.js +0 -38
  473. package/dist/MismatchParser/index.d.ts +0 -27
  474. package/dist/MismatchParser/index.js +0 -145
  475. package/dist/MismatchParser/mdToMismatches.d.ts +0 -2
  476. package/dist/MismatchParser/mdToMismatches.js +0 -74
  477. package/dist/ModificationParser/consts.d.ts +0 -1
  478. package/dist/ModificationParser/consts.js +0 -4
  479. package/dist/ModificationParser/detectSimplexModifications.d.ts +0 -4
  480. package/dist/ModificationParser/detectSimplexModifications.js +0 -20
  481. package/dist/ModificationParser/getMethBins.d.ts +0 -7
  482. package/dist/ModificationParser/getMethBins.js +0 -49
  483. package/dist/ModificationParser/getModPositions.d.ts +0 -6
  484. package/dist/ModificationParser/getModPositions.js +0 -61
  485. package/dist/ModificationParser/getModProbabilities.d.ts +0 -2
  486. package/dist/ModificationParser/getModProbabilities.js +0 -34
  487. package/dist/ModificationParser/getModTypes.d.ts +0 -5
  488. package/dist/ModificationParser/getModTypes.js +0 -35
  489. package/dist/PileupRPC/base.d.ts +0 -8
  490. package/dist/PileupRPC/base.js +0 -20
  491. package/dist/PileupRPC/index.d.ts +0 -2
  492. package/dist/PileupRPC/index.js +0 -9
  493. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +0 -13
  494. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +0 -29
  495. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +0 -37
  496. package/dist/PileupRPC/methods/GetReducedFeatures.js +0 -54
  497. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +0 -17
  498. package/dist/PileupRPC/methods/GetVisibleModifications.js +0 -49
  499. package/dist/PileupRPC/rpcMethods.d.ts +0 -3
  500. package/dist/PileupRPC/rpcMethods.js +0 -12
  501. package/dist/PileupRPC/util.js +0 -18
  502. package/dist/PileupRenderer/PileupLayoutSession.d.ts +0 -23
  503. package/dist/PileupRenderer/PileupLayoutSession.js +0 -35
  504. package/dist/PileupRenderer/PileupRenderer.d.ts +0 -53
  505. package/dist/PileupRenderer/PileupRenderer.js +0 -126
  506. package/dist/PileupRenderer/colorBy.d.ts +0 -7
  507. package/dist/PileupRenderer/colorBy.js +0 -61
  508. package/dist/PileupRenderer/components/PileupRendering.d.ts +0 -19
  509. package/dist/PileupRenderer/components/PileupRendering.js +0 -152
  510. package/dist/PileupRenderer/configSchema.d.ts +0 -62
  511. package/dist/PileupRenderer/configSchema.js +0 -71
  512. package/dist/PileupRenderer/index.d.ts +0 -2
  513. package/dist/PileupRenderer/index.js +0 -20
  514. package/dist/PileupRenderer/layoutFeature.d.ts +0 -18
  515. package/dist/PileupRenderer/layoutFeature.js +0 -42
  516. package/dist/PileupRenderer/layoutFeatures.d.ts +0 -5
  517. package/dist/PileupRenderer/layoutFeatures.js +0 -29
  518. package/dist/PileupRenderer/makeImageData.d.ts +0 -17
  519. package/dist/PileupRenderer/makeImageData.js +0 -97
  520. package/dist/PileupRenderer/renderers/getAlignmentShapeColor.d.ts +0 -10
  521. package/dist/PileupRenderer/renderers/getAlignmentShapeColor.js +0 -61
  522. package/dist/PileupRenderer/renderers/renderAlignment.d.ts +0 -16
  523. package/dist/PileupRenderer/renderers/renderAlignment.js +0 -90
  524. package/dist/PileupRenderer/renderers/renderAlignmentShape.d.ts +0 -7
  525. package/dist/PileupRenderer/renderers/renderAlignmentShape.js +0 -120
  526. package/dist/PileupRenderer/renderers/renderMethylation.d.ts +0 -12
  527. package/dist/PileupRenderer/renderers/renderMethylation.js +0 -60
  528. package/dist/PileupRenderer/renderers/renderMismatches.d.ts +0 -21
  529. package/dist/PileupRenderer/renderers/renderMismatches.js +0 -148
  530. package/dist/PileupRenderer/renderers/renderModifications.d.ts +0 -15
  531. package/dist/PileupRenderer/renderers/renderModifications.js +0 -84
  532. package/dist/PileupRenderer/renderers/renderPerBaseLettering.d.ts +0 -14
  533. package/dist/PileupRenderer/renderers/renderPerBaseLettering.js +0 -42
  534. package/dist/PileupRenderer/renderers/renderPerBaseQuality.d.ts +0 -10
  535. package/dist/PileupRenderer/renderers/renderPerBaseQuality.js +0 -35
  536. package/dist/PileupRenderer/renderers/renderSoftClipping.d.ts +0 -13
  537. package/dist/PileupRenderer/renderers/renderSoftClipping.js +0 -59
  538. package/dist/PileupRenderer/sortUtil.d.ts +0 -3
  539. package/dist/PileupRenderer/sortUtil.js +0 -80
  540. package/dist/PileupRenderer/types.d.ts +0 -33
  541. package/dist/PileupRenderer/types.js +0 -2
  542. package/dist/PileupRenderer/util.d.ts +0 -28
  543. package/dist/PileupRenderer/util.js +0 -49
  544. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +0 -14
  545. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +0 -89
  546. package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -7
  547. package/dist/SNPCoverageAdapter/configSchema.js +0 -11
  548. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +0 -13
  549. package/dist/SNPCoverageAdapter/generateCoverageBins.js +0 -87
  550. package/dist/SNPCoverageAdapter/index.d.ts +0 -2
  551. package/dist/SNPCoverageAdapter/index.js +0 -54
  552. package/dist/SNPCoverageAdapter/processDepth.d.ts +0 -8
  553. package/dist/SNPCoverageAdapter/processDepth.js +0 -38
  554. package/dist/SNPCoverageAdapter/processMismatches.d.ts +0 -9
  555. package/dist/SNPCoverageAdapter/processMismatches.js +0 -58
  556. package/dist/SNPCoverageAdapter/processModifications.d.ts +0 -10
  557. package/dist/SNPCoverageAdapter/processModifications.js +0 -60
  558. package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +0 -9
  559. package/dist/SNPCoverageAdapter/processReferenceCpGs.js +0 -63
  560. package/dist/SNPCoverageAdapter/util.d.ts +0 -10
  561. package/dist/SNPCoverageAdapter/util.js +0 -41
  562. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +0 -5
  563. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +0 -46
  564. package/dist/SNPCoverageRenderer/configSchema.d.ts +0 -33
  565. package/dist/SNPCoverageRenderer/configSchema.js +0 -37
  566. package/dist/SNPCoverageRenderer/index.d.ts +0 -2
  567. package/dist/SNPCoverageRenderer/index.js +0 -17
  568. package/dist/SNPCoverageRenderer/makeImage.d.ts +0 -2
  569. package/dist/SNPCoverageRenderer/makeImage.js +0 -270
  570. package/dist/SNPCoverageRenderer/types.d.ts +0 -21
  571. package/dist/SNPCoverageRenderer/types.js +0 -2
  572. package/dist/index.d.ts +0 -9
  573. package/dist/index.js +0 -89
  574. package/dist/shared/LinearReadDisplayBaseMixin.d.ts +0 -24
  575. package/dist/shared/LinearReadDisplayBaseMixin.js +0 -50
  576. package/dist/shared/LinearReadDisplayWithLayoutMixin.d.ts +0 -11
  577. package/dist/shared/LinearReadDisplayWithLayoutMixin.js +0 -24
  578. package/dist/shared/LinearReadDisplayWithPairFiltersMixin.d.ts +0 -11
  579. package/dist/shared/LinearReadDisplayWithPairFiltersMixin.js +0 -27
  580. package/dist/shared/afterAttach.d.ts +0 -2
  581. package/dist/shared/afterAttach.js +0 -41
  582. package/dist/shared/canvasUtils.d.ts +0 -2
  583. package/dist/shared/canvasUtils.js +0 -32
  584. package/dist/shared/chainToSimpleFeature.js +0 -43
  585. package/dist/shared/chevron.d.ts +0 -1
  586. package/dist/shared/chevron.js +0 -27
  587. package/dist/shared/color.d.ts +0 -95
  588. package/dist/shared/color.js +0 -158
  589. package/dist/shared/components/BaseDisplayComponent.d.ts +0 -16
  590. package/dist/shared/components/BaseDisplayComponent.js +0 -44
  591. package/dist/shared/components/FilterByTagDialog.d.ts +0 -9
  592. package/dist/shared/components/FilterByTagDialog.js +0 -88
  593. package/dist/shared/components/SetFeatureHeightDialog.d.ts +0 -10
  594. package/dist/shared/components/SetFeatureHeightDialog.js +0 -26
  595. package/dist/shared/components/SetMaxHeightDialog.d.ts +0 -8
  596. package/dist/shared/components/SetMaxHeightDialog.js +0 -28
  597. package/dist/shared/drawLongReadChains.d.ts +0 -24
  598. package/dist/shared/drawLongReadChains.js +0 -104
  599. package/dist/shared/drawPairChains.d.ts +0 -24
  600. package/dist/shared/drawPairChains.js +0 -94
  601. package/dist/shared/fetchChains.d.ts +0 -28
  602. package/dist/shared/fetchChains.js +0 -22
  603. package/dist/shared/flatbushType.d.ts +0 -12
  604. package/dist/shared/flatbushType.js +0 -2
  605. package/dist/shared/getMaximumModificationAtEachPosition.d.ts +0 -8
  606. package/dist/shared/getMaximumModificationAtEachPosition.js +0 -42
  607. package/dist/shared/getUniqueModifications.d.ts +0 -18
  608. package/dist/shared/getUniqueModifications.js +0 -22
  609. package/dist/shared/getUniqueTags.d.ts +0 -15
  610. package/dist/shared/getUniqueTags.js +0 -18
  611. package/dist/shared/menuItems.d.ts +0 -23
  612. package/dist/shared/menuItems.js +0 -89
  613. package/dist/shared/modificationData.d.ts +0 -6
  614. package/dist/shared/modificationData.js +0 -22
  615. package/dist/shared/primaryStrand.d.ts +0 -3
  616. package/dist/shared/primaryStrand.js +0 -24
  617. package/dist/shared/renderSvgUtil.d.ts +0 -6
  618. package/dist/shared/renderSvgUtil.js +0 -66
  619. package/dist/shared/types.d.ts +0 -96
  620. package/dist/shared/types.js +0 -2
  621. package/dist/shared/util.d.ts +0 -22
  622. package/dist/shared/util.js +0 -68
  623. package/dist/util.d.ts +0 -25
  624. package/dist/util.js +0 -114
  625. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +0 -1
  626. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  627. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +0 -1
  628. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  629. package/esm/CramAdapter/readFeaturesToCIGAR.d.ts +0 -9
  630. package/esm/CramAdapter/readFeaturesToCIGAR.js +0 -208
  631. package/esm/CramAdapter/readFeaturesToMismatches.d.ts +0 -5
  632. package/esm/CramAdapter/readFeaturesToMismatches.js +0 -103
  633. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +0 -8
  634. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +0 -26
  635. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +0 -2
  636. package/esm/LinearReadArcsDisplay/drawFeats.js +0 -149
  637. package/esm/LinearReadArcsDisplay/util.d.ts +0 -2
  638. package/esm/LinearReadArcsDisplay/util.js +0 -8
  639. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +0 -5
  640. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +0 -100
  641. package/esm/LinearReadCloudDisplay/drawFeatsAbstract.d.ts +0 -2
  642. package/esm/LinearReadCloudDisplay/drawFeatsAbstract.js +0 -10
  643. package/esm/LinearReadCloudDisplay/drawFeatsCloud.d.ts +0 -2
  644. package/esm/LinearReadCloudDisplay/drawFeatsCloud.js +0 -21
  645. package/esm/LinearReadCloudDisplay/drawFeatsCommon.d.ts +0 -23
  646. package/esm/LinearReadCloudDisplay/drawFeatsCommon.js +0 -187
  647. package/esm/LinearReadCloudDisplay/drawFeatsStack.d.ts +0 -2
  648. package/esm/LinearReadCloudDisplay/drawFeatsStack.js +0 -30
  649. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +0 -37
  650. package/esm/PileupRPC/methods/GetReducedFeatures.js +0 -48
  651. package/esm/PileupRPC/util.d.ts +0 -8
  652. package/esm/PileupRPC/util.js +0 -14
  653. package/esm/PileupRenderer/renderers/renderMismatches.d.ts +0 -21
  654. package/esm/PileupRenderer/renderers/renderMismatches.js +0 -145
  655. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +0 -13
  656. package/esm/SNPCoverageAdapter/generateCoverageBins.js +0 -84
  657. package/esm/SNPCoverageAdapter/processDepth.d.ts +0 -8
  658. package/esm/SNPCoverageAdapter/processDepth.js +0 -35
  659. package/esm/SNPCoverageAdapter/processMismatches.d.ts +0 -9
  660. package/esm/SNPCoverageAdapter/processMismatches.js +0 -55
  661. package/esm/shared/chainToSimpleFeature.d.ts +0 -3
  662. package/esm/shared/components/BaseDisplayComponent.d.ts +0 -16
  663. package/esm/shared/components/BaseDisplayComponent.js +0 -42
  664. package/esm/shared/drawLongReadChains.d.ts +0 -24
  665. package/esm/shared/drawLongReadChains.js +0 -101
  666. package/esm/shared/drawPairChains.d.ts +0 -24
  667. package/esm/shared/drawPairChains.js +0 -91
  668. package/esm/shared/fetchChains.d.ts +0 -28
  669. package/esm/shared/fetchChains.js +0 -19
@@ -1,152 +1,92 @@
1
1
  import { CraiIndex, IndexedCramFile } from '@gmod/cram';
2
2
  import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
- import { toLocale, updateStatus } from '@jbrowse/core/util';
3
+ import { sum, updateStatus } from '@jbrowse/core/util';
4
4
  import QuickLRU from '@jbrowse/core/util/QuickLRU';
5
5
  import { openLocation } from '@jbrowse/core/util/io';
6
6
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
7
7
  import { checkStopToken } from '@jbrowse/core/util/stopToken';
8
- import { firstValueFrom } from 'rxjs';
9
- import { toArray } from 'rxjs/operators';
10
- import CramSlightlyLazyFeature from './CramSlightlyLazyFeature';
11
- import { filterReadFlag, filterTagValue } from '../shared/util';
8
+ import CramSlightlyLazyFeature from "./CramSlightlyLazyFeature.js";
9
+ import { filterReadFlag, filterTagValue, parseSamHeader, } from "../shared/util.js";
12
10
  export default class CramAdapter extends BaseFeatureDataAdapter {
13
- constructor() {
14
- super(...arguments);
15
- this.samHeader = {};
16
- this.ultraLongFeatureCache = new QuickLRU({
17
- maxSize: 500,
18
- });
19
- this.seqIdToOriginalRefName = [];
20
- }
21
- async configurePre() {
22
- const cramLocation = this.getConf('cramLocation');
23
- const craiLocation = this.getConf('craiLocation');
24
- const pm = this.pluginManager;
25
- const cram = new IndexedCramFile({
26
- cramFilehandle: openLocation(cramLocation, pm),
27
- index: new CraiIndex({
28
- filehandle: openLocation(craiLocation, pm),
29
- }),
30
- seqFetch: (...args) => this.seqFetch(...args),
31
- checkSequenceMD5: false,
32
- });
33
- if (!this.getSubAdapter) {
34
- throw new Error('Error getting subadapter');
35
- }
36
- const seqConf = this.getConf('sequenceAdapter');
37
- if (!seqConf) {
38
- throw new Error('no sequenceAdapter supplied to CramAdapter config');
11
+ samHeader;
12
+ setupP;
13
+ configureResult;
14
+ sequenceAdapterP;
15
+ ultraLongFeatureCache = new QuickLRU({
16
+ maxSize: 500,
17
+ });
18
+ seqIdToOriginalRefName = [];
19
+ configure() {
20
+ if (!this.configureResult) {
21
+ const cramLocation = this.getConf('cramLocation');
22
+ const craiLocation = this.getConf('craiLocation');
23
+ this.configureResult = {
24
+ cram: new IndexedCramFile({
25
+ cramFilehandle: openLocation(cramLocation, this.pluginManager),
26
+ index: new CraiIndex({
27
+ filehandle: openLocation(craiLocation, this.pluginManager),
28
+ }),
29
+ seqFetch: async (seqId, start, end) => {
30
+ const sequenceAdapter = await this.getSequenceAdapter();
31
+ if (!sequenceAdapter) {
32
+ throw new Error('no sequenceAdapter available');
33
+ }
34
+ const refName = this.refIdToOriginalName(seqId) || this.refIdToName(seqId);
35
+ if (!refName) {
36
+ throw new Error('unknown refName');
37
+ }
38
+ return ((await sequenceAdapter.getSequence({
39
+ refName,
40
+ start: start - 1,
41
+ end,
42
+ })) ?? '');
43
+ },
44
+ checkSequenceMD5: false,
45
+ }),
46
+ };
39
47
  }
40
- const subadapter = await this.getSubAdapter(seqConf);
41
- return {
42
- cram,
43
- sequenceAdapter: subadapter.dataAdapter,
44
- };
48
+ return this.configureResult;
45
49
  }
46
- async configure() {
47
- if (!this.configureP) {
48
- this.configureP = this.configurePre().catch((e) => {
49
- this.configureP = undefined;
50
- throw e;
51
- });
50
+ async getSequenceAdapter() {
51
+ const config = this.sequenceAdapterConfig;
52
+ if (!config || !this.getSubAdapter) {
53
+ return undefined;
52
54
  }
53
- return this.configureP;
55
+ this.sequenceAdapterP ??= this.getSubAdapter(config)
56
+ .then(r => r.dataAdapter)
57
+ .catch((e) => {
58
+ this.sequenceAdapterP = undefined;
59
+ throw e;
60
+ });
61
+ return this.sequenceAdapterP;
54
62
  }
55
63
  async getHeader(_opts) {
56
- const { cram } = await this.configure();
64
+ const { cram } = this.configure();
57
65
  return cram.cram.getHeaderText();
58
66
  }
59
- async seqFetch(seqId, start, end) {
60
- start -= 1;
61
- const { sequenceAdapter } = await this.configure();
62
- const refName = this.refIdToOriginalName(seqId) || this.refIdToName(seqId);
63
- if (!refName) {
64
- throw new Error('unknown');
65
- }
66
- const seqChunks = await firstValueFrom(sequenceAdapter
67
- .getFeatures({
68
- refName,
69
- start,
70
- end,
71
- assemblyName: '',
72
- })
73
- .pipe(toArray()));
74
- const sequence = seqChunks
75
- .sort((a, b) => a.get('start') - b.get('start'))
76
- .map(chunk => {
77
- const chunkStart = chunk.get('start');
78
- const chunkEnd = chunk.get('end');
79
- const trimStart = Math.max(start - chunkStart, 0);
80
- const trimEnd = Math.min(end - chunkStart, chunkEnd - chunkStart);
81
- const trimLength = trimEnd - trimStart;
82
- const chunkSeq = chunk.get('seq') || chunk.get('residues');
83
- return chunkSeq.slice(trimStart, trimStart + trimLength);
84
- })
85
- .join('');
86
- const qlen = end - start;
87
- if (sequence.length !== qlen) {
88
- throw new Error(`fetching ${refName}:${toLocale(start - 1)}-${toLocale(end)} returned ${toLocale(sequence.length)} bases, should have returned ${toLocale(qlen)}`);
89
- }
90
- return sequence;
91
- }
92
- async setupPre(_opts) {
93
- const conf = await this.configure();
94
- const { cram } = conf;
95
- const samHeader = await cram.cram.getSamHeader();
96
- const idToName = [];
97
- const nameToId = {};
98
- for (const [refId, sqLine] of samHeader
99
- .filter(l => l.tag === 'SQ')
100
- .entries()) {
101
- const SN = sqLine.data.find(item => item.tag === 'SN');
102
- if (SN) {
103
- const refName = SN.value;
104
- nameToId[refName] = refId;
105
- idToName[refId] = refName;
106
- }
107
- }
108
- const readGroups = samHeader
109
- .filter(l => l.tag === 'RG')
110
- .map(rgLine => { var _a; return (_a = rgLine.data.find(item => item.tag === 'ID')) === null || _a === void 0 ? void 0 : _a.value; });
111
- const data = { idToName, nameToId, readGroups };
112
- this.samHeader = data;
113
- return {
114
- samHeader: data,
115
- ...conf,
116
- };
117
- }
118
- async setupPre2(opts) {
119
- if (!this.setupP) {
120
- this.setupP = this.setupPre(opts).catch((e) => {
121
- this.setupP = undefined;
122
- throw e;
123
- });
124
- }
67
+ async setup(_opts) {
68
+ this.setupP ??= (async () => {
69
+ const { cram } = this.configure();
70
+ const rawHeader = await cram.cram.getSamHeader();
71
+ const samHeader = parseSamHeader(rawHeader);
72
+ this.samHeader = samHeader;
73
+ return { samHeader, cram };
74
+ })().catch((e) => {
75
+ this.setupP = undefined;
76
+ this.configureResult = undefined;
77
+ throw e;
78
+ });
125
79
  return this.setupP;
126
80
  }
127
- async setup(opts) {
128
- const { statusCallback = () => { } } = opts || {};
129
- return updateStatus('Downloading index', statusCallback, () => this.setupPre2(opts));
130
- }
131
81
  async getRefNames(opts) {
132
82
  const { samHeader } = await this.setup(opts);
133
- if (!samHeader.idToName) {
134
- throw new Error('CRAM file has no header lines');
135
- }
136
83
  return samHeader.idToName;
137
84
  }
138
85
  refNameToId(refName) {
139
- if (this.samHeader.nameToId) {
140
- return this.samHeader.nameToId[refName];
141
- }
142
- if (this.seqIdToRefName) {
143
- return this.seqIdToRefName.indexOf(refName);
144
- }
145
- return undefined;
86
+ return this.samHeader?.nameToId[refName];
146
87
  }
147
88
  refIdToName(refId) {
148
- var _a, _b;
149
- return ((_a = this.samHeader.idToName) === null || _a === void 0 ? void 0 : _a[refId]) || ((_b = this.seqIdToRefName) === null || _b === void 0 ? void 0 : _b[refId]);
89
+ return this.samHeader?.idToName[refId];
150
90
  }
151
91
  refIdToOriginalName(refId) {
152
92
  return this.seqIdToOriginalRefName[refId];
@@ -165,10 +105,17 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
165
105
  if (originalRefName) {
166
106
  this.seqIdToOriginalRefName[refId] = originalRefName;
167
107
  }
168
- const records = await updateStatus('Downloading alignments', statusCallback, () => cram.getRecordsForRange(refId, start, end));
108
+ let records;
109
+ try {
110
+ records = await updateStatus('Downloading alignments', statusCallback, () => cram.getRecordsForRange(refId, start, end));
111
+ }
112
+ catch (e) {
113
+ this.setupP = undefined;
114
+ this.configureResult = undefined;
115
+ throw e;
116
+ }
169
117
  checkStopToken(stopToken);
170
118
  await updateStatus('Processing alignments', statusCallback, () => {
171
- var _a;
172
119
  const { flagInclude = 0, flagExclude = 0, tagFilter, readName, } = filterBy || {};
173
120
  for (const record of records) {
174
121
  if (filterReadFlag(record.flags, flagInclude, flagExclude)) {
@@ -176,40 +123,42 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
176
123
  }
177
124
  if (tagFilter &&
178
125
  filterTagValue(tagFilter.tag === 'RG'
179
- ? (_a = samHeader.readGroups) === null || _a === void 0 ? void 0 : _a[record.readGroupId]
126
+ ? samHeader.readGroups[record.readGroupId]
180
127
  : record.tags[tagFilter.tag], tagFilter.value)) {
181
128
  continue;
182
129
  }
183
130
  if (readName && record.readName !== readName) {
184
131
  continue;
185
132
  }
186
- const ret = this.ultraLongFeatureCache.get(`${record.uniqueId}`);
187
- if (!ret) {
188
- const elt = this.cramRecordToFeature(record);
189
- this.ultraLongFeatureCache.set(`${record.uniqueId}`, elt);
190
- observer.next(elt);
133
+ if (record.readLength > 5_000) {
134
+ const ret = this.ultraLongFeatureCache.get(record.uniqueId);
135
+ if (ret) {
136
+ observer.next(ret);
137
+ }
138
+ else {
139
+ const elt = new CramSlightlyLazyFeature(record, this);
140
+ this.ultraLongFeatureCache.set(record.uniqueId, elt);
141
+ observer.next(elt);
142
+ }
191
143
  }
192
144
  else {
193
- observer.next(ret);
145
+ observer.next(new CramSlightlyLazyFeature(record, this));
194
146
  }
195
147
  }
196
148
  observer.complete();
197
149
  });
198
150
  }, stopToken);
199
151
  }
200
- cramRecordToFeature(record) {
201
- return new CramSlightlyLazyFeature(record, this);
202
- }
203
- async getMultiRegionFeatureDensityStats(regions, opts) {
204
- const bytes = await this.bytesForRegions(regions, opts);
152
+ async getMultiRegionFeatureDensityStats(regions) {
153
+ const bytes = await this.bytesForRegions(regions);
205
154
  const fetchSizeLimit = this.getConf('fetchSizeLimit');
206
155
  return {
207
156
  bytes,
208
157
  fetchSizeLimit,
209
158
  };
210
159
  }
211
- async bytesForRegions(regions, _opts) {
212
- const { cram } = await this.configure();
160
+ async bytesForRegions(regions) {
161
+ const { cram } = this.configure();
213
162
  const blockResults = await Promise.all(regions.map(region => {
214
163
  const { refName, start, end } = region;
215
164
  const chrId = this.refNameToId(refName);
@@ -217,6 +166,6 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
217
166
  ? cram.index.getEntriesForRange(chrId, start, end)
218
167
  : Promise.resolve([{ sliceBytes: 0 }]);
219
168
  }));
220
- return blockResults.flat().reduce((a, b) => a + b.sliceBytes, 0);
169
+ return sum(blockResults.flat().map(a => a.sliceBytes));
221
170
  }
222
171
  }
@@ -1,4 +1,6 @@
1
- import type CramAdapter from './CramAdapter';
1
+ import type CramAdapter from './CramAdapter.ts';
2
+ import type { MismatchCallback } from '../shared/forEachMismatchTypes.ts';
3
+ import type { Mismatch } from '../shared/types.ts';
2
4
  import type { CramRecord } from '@gmod/cram';
3
5
  import type { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util';
4
6
  export default class CramSlightlyLazyFeature implements Feature {
@@ -22,12 +24,14 @@ export default class CramSlightlyLazyFeature implements Feature {
22
24
  get next_pos(): number | undefined;
23
25
  get tags(): Record<string, string>;
24
26
  get seq(): string | null | undefined;
27
+ get NUMERIC_CIGAR(): ArrayLike<number>;
25
28
  get CIGAR(): string;
26
29
  id(): string;
27
30
  get(field: string): any;
28
31
  parent(): undefined;
29
32
  children(): undefined;
30
- get mismatches(): import("../shared/types").Mismatch[];
33
+ get mismatches(): Mismatch[];
34
+ forEachMismatch(callback: MismatchCallback): void;
31
35
  get fields(): SimpleFeatureSerialized;
32
36
  toJSON(): SimpleFeatureSerialized;
33
37
  }
@@ -1,7 +1,14 @@
1
- import { readFeaturesToCIGAR } from './readFeaturesToCIGAR';
2
- import { readFeaturesToMismatches } from './readFeaturesToMismatches';
3
- import { cacheGetter } from '../shared/util';
1
+ import { CODE_D, CODE_H, CODE_I, CODE_N, CODE_S, CODE_X, CODE_i, } from "./const.js";
2
+ import { readFeaturesToNumericCIGAR } from "./readFeaturesToNumericCIGAR.js";
3
+ import { CHAR_FROM_CODE } from "../PileupRenderer/renderers/cigarUtil.js";
4
+ import { DELETION_TYPE, HARDCLIP_TYPE, INSERTION_TYPE, MISMATCH_TYPE, SKIP_TYPE, SOFTCLIP_TYPE, } from "../shared/forEachMismatchTypes.js";
5
+ import { cacheGetter, convertTagsToPlainArrays } from "../shared/util.js";
6
+ const NUMERIC_CIGAR_CODES = new Uint8Array([
7
+ 77, 73, 68, 78, 83, 72, 80, 61, 88, 63, 63, 63, 63, 63, 63, 63,
8
+ ]);
4
9
  export default class CramSlightlyLazyFeature {
10
+ record;
11
+ _store;
5
12
  constructor(record, _store) {
6
13
  this.record = record;
7
14
  this._store = _store;
@@ -13,8 +20,7 @@ export default class CramSlightlyLazyFeature {
13
20
  return this.record.alignmentStart - 1;
14
21
  }
15
22
  get end() {
16
- var _a;
17
- return this.start + ((_a = this.record.lengthOnRef) !== null && _a !== void 0 ? _a : 1);
23
+ return this.start + (this.record.lengthOnRef ?? 1);
18
24
  }
19
25
  get score() {
20
26
  return this.record.mappingQuality;
@@ -54,31 +60,45 @@ export default class CramSlightlyLazyFeature {
54
60
  return !!this.record.mate;
55
61
  }
56
62
  get next_pos() {
57
- var _a;
58
- return (_a = this.record.mate) === null || _a === void 0 ? void 0 : _a.alignmentStart;
63
+ return this.record.mate?.alignmentStart;
59
64
  }
60
65
  get tags() {
61
- var _a;
62
- const RG = (_a = this._store.samHeader.readGroups) === null || _a === void 0 ? void 0 : _a[this.record.readGroupId];
66
+ const RG = this._store.samHeader?.readGroups[this.record.readGroupId];
63
67
  return RG !== undefined ? { ...this.record.tags, RG } : this.record.tags;
64
68
  }
65
69
  get seq() {
66
70
  return this.record.getReadBases();
67
71
  }
72
+ get NUMERIC_CIGAR() {
73
+ return readFeaturesToNumericCIGAR(this.record.readFeatures, this.record.alignmentStart, this.record.readLength);
74
+ }
68
75
  get CIGAR() {
69
- return readFeaturesToCIGAR(this.record.readFeatures, this.record.alignmentStart, this.record.readLength, this.record._refRegion);
76
+ const numeric = this.NUMERIC_CIGAR;
77
+ let result = '';
78
+ for (let i = 0, l = numeric.length; i < l; i++) {
79
+ const packed = numeric[i];
80
+ const length = packed >> 4;
81
+ const opCode = NUMERIC_CIGAR_CODES[packed & 0xf];
82
+ result += length + CHAR_FROM_CODE[opCode];
83
+ }
84
+ return result;
70
85
  }
71
86
  id() {
72
87
  return `${this._store.id}-${this.record.uniqueId}`;
73
88
  }
74
89
  get(field) {
75
- return field === 'mismatches'
76
- ? this.mismatches
77
- : field === 'qual'
78
- ? this.qual
79
- : field === 'CIGAR'
80
- ? this.CIGAR
81
- : this.fields[field];
90
+ switch (field) {
91
+ case 'mismatches':
92
+ return this.mismatches;
93
+ case 'qual':
94
+ return this.qual;
95
+ case 'CIGAR':
96
+ return this.CIGAR;
97
+ case 'NUMERIC_CIGAR':
98
+ return this.NUMERIC_CIGAR;
99
+ default:
100
+ return this.fields[field];
101
+ }
82
102
  }
83
103
  parent() {
84
104
  return undefined;
@@ -87,7 +107,107 @@ export default class CramSlightlyLazyFeature {
87
107
  return undefined;
88
108
  }
89
109
  get mismatches() {
90
- return readFeaturesToMismatches(this.record.readFeatures, this.start, this.qualRaw);
110
+ const mismatches = [];
111
+ this.forEachMismatch((type, start, length, base, qual, altbase, cliplen) => {
112
+ if (type === MISMATCH_TYPE) {
113
+ mismatches.push({
114
+ type: 'mismatch',
115
+ start,
116
+ length,
117
+ base,
118
+ qual: qual !== undefined && qual >= 0 ? qual : undefined,
119
+ altbase: altbase !== undefined && altbase > 0
120
+ ? CHAR_FROM_CODE[altbase]
121
+ : undefined,
122
+ });
123
+ }
124
+ else if (type === INSERTION_TYPE) {
125
+ mismatches.push({
126
+ type: 'insertion',
127
+ start,
128
+ length,
129
+ insertlen: cliplen,
130
+ insertedBases: base,
131
+ });
132
+ }
133
+ else if (type === SOFTCLIP_TYPE) {
134
+ mismatches.push({
135
+ type: 'softclip',
136
+ start,
137
+ length,
138
+ cliplen: cliplen,
139
+ });
140
+ }
141
+ else if (type === HARDCLIP_TYPE) {
142
+ mismatches.push({
143
+ type: 'hardclip',
144
+ start,
145
+ length,
146
+ cliplen: cliplen,
147
+ });
148
+ }
149
+ else {
150
+ mismatches.push({
151
+ type: type === 2 ? 'deletion' : 'skip',
152
+ start,
153
+ length,
154
+ });
155
+ }
156
+ });
157
+ return mismatches;
158
+ }
159
+ forEachMismatch(callback) {
160
+ const readFeatures = this.record.readFeatures;
161
+ if (!readFeatures) {
162
+ return;
163
+ }
164
+ const featStart = this.start;
165
+ const qual = this.qualRaw;
166
+ const hasQual = !!qual;
167
+ const len = readFeatures.length;
168
+ let refPos = 0;
169
+ let lastPos = featStart;
170
+ let insertedBases = '';
171
+ let insertedBasesLen = 0;
172
+ for (let i = 0; i < len; i++) {
173
+ const rf = readFeatures[i];
174
+ const sublen = refPos - lastPos;
175
+ lastPos = refPos;
176
+ if (sublen && insertedBasesLen > 0) {
177
+ callback(INSERTION_TYPE, refPos, 0, insertedBases, -1, 0, insertedBasesLen);
178
+ insertedBases = '';
179
+ insertedBasesLen = 0;
180
+ }
181
+ refPos = rf.refPos - 1 - featStart;
182
+ const codeChar = rf.code.charCodeAt(0);
183
+ if (codeChar === CODE_X) {
184
+ const refCharCode = rf.ref ? rf.ref.charCodeAt(0) & ~0x20 : 0;
185
+ callback(MISMATCH_TYPE, refPos, 1, rf.sub, hasQual ? qual[rf.pos - 1] : -1, refCharCode, 0);
186
+ }
187
+ else if (codeChar === CODE_I) {
188
+ callback(INSERTION_TYPE, refPos, 0, rf.data, -1, 0, rf.data.length);
189
+ }
190
+ else if (codeChar === CODE_N) {
191
+ callback(SKIP_TYPE, refPos, rf.data, 'N', -1, 0, 0);
192
+ }
193
+ else if (codeChar === CODE_S) {
194
+ const dataLen = rf.data.length;
195
+ callback(SOFTCLIP_TYPE, refPos, 1, `S${dataLen}`, -1, 0, dataLen);
196
+ }
197
+ else if (codeChar === CODE_H) {
198
+ callback(HARDCLIP_TYPE, refPos, 1, `H${rf.data}`, -1, 0, rf.data);
199
+ }
200
+ else if (codeChar === CODE_D) {
201
+ callback(DELETION_TYPE, refPos, rf.data, '*', -1, 0, 0);
202
+ }
203
+ else if (codeChar === CODE_i) {
204
+ insertedBases += rf.data;
205
+ insertedBasesLen++;
206
+ }
207
+ }
208
+ if (insertedBasesLen > 0) {
209
+ callback(INSERTION_TYPE, refPos, 0, insertedBases, -1, 0, insertedBasesLen);
210
+ }
91
211
  }
92
212
  get fields() {
93
213
  return {
@@ -98,7 +218,7 @@ export default class CramSlightlyLazyFeature {
98
218
  strand: this.strand,
99
219
  template_length: this.template_length,
100
220
  flags: this.flags,
101
- tags: this.tags,
221
+ tags: convertTagsToPlainArrays(this.tags),
102
222
  refName: this.refName,
103
223
  seq: this.seq,
104
224
  type: 'match',
@@ -119,4 +239,5 @@ export default class CramSlightlyLazyFeature {
119
239
  }
120
240
  cacheGetter(CramSlightlyLazyFeature, 'fields');
121
241
  cacheGetter(CramSlightlyLazyFeature, 'CIGAR');
242
+ cacheGetter(CramSlightlyLazyFeature, 'NUMERIC_CIGAR');
122
243
  cacheGetter(CramSlightlyLazyFeature, 'mismatches');
@@ -1,4 +1,4 @@
1
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
1
+ import { BaseSequenceAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
2
  import SimpleFeature from '@jbrowse/core/util/simpleFeature';
3
3
  import { Observable } from 'rxjs';
4
4
  import type { GenericFilehandle } from 'generic-filehandle2';
@@ -14,11 +14,12 @@ export declare class FetchableSmallFasta {
14
14
  fetch(id: number, start: number, end: number): Promise<string>;
15
15
  getSequenceList(): Promise<string[]>;
16
16
  }
17
- export declare class SequenceAdapter extends BaseFeatureDataAdapter {
17
+ export declare class SequenceAdapter extends BaseSequenceAdapter {
18
18
  fasta: FetchableSmallFasta;
19
19
  refNames: string[];
20
20
  constructor(filehandle: FileHandle);
21
21
  getRefNames(): Promise<string[]>;
22
+ getRegions(): Promise<never[]>;
22
23
  getFeatures({ refName, start, end, }: {
23
24
  refName: string;
24
25
  start: number;
@@ -1,5 +1,5 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { BaseSequenceAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
3
  import SimpleFeature from '@jbrowse/core/util/simpleFeature';
4
4
  import { Observable } from 'rxjs';
5
5
  export function parseSmallFasta(text) {
@@ -19,6 +19,7 @@ export function parseSmallFasta(text) {
19
19
  });
20
20
  }
21
21
  export class FetchableSmallFasta {
22
+ data;
22
23
  constructor(filehandle) {
23
24
  this.data = filehandle.readFile().then(buffer => {
24
25
  const decoder = new TextDecoder('utf8');
@@ -40,15 +41,19 @@ export class FetchableSmallFasta {
40
41
  return data.map(entry => entry.id);
41
42
  }
42
43
  }
43
- export class SequenceAdapter extends BaseFeatureDataAdapter {
44
+ export class SequenceAdapter extends BaseSequenceAdapter {
45
+ fasta;
46
+ refNames = [];
44
47
  constructor(filehandle) {
45
48
  super(ConfigurationSchema('empty', {}).create());
46
- this.refNames = [];
47
49
  this.fasta = new FetchableSmallFasta(filehandle);
48
50
  }
49
51
  async getRefNames() {
50
52
  return this.refNames;
51
53
  }
54
+ async getRegions() {
55
+ return [];
56
+ }
52
57
  getFeatures({ refName, start, end, }) {
53
58
  return new Observable(observer => {
54
59
  this.fasta
@@ -1,4 +1,4 @@
1
- declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ declare const configSchema: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
2
2
  fetchSizeLimit: {
3
3
  type: string;
4
4
  description: string;
@@ -18,10 +18,5 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
18
18
  locationType: string;
19
19
  };
20
20
  };
21
- sequenceAdapter: {
22
- type: string;
23
- description: string;
24
- defaultValue: null;
25
- };
26
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
21
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
27
22
  export default configSchema;
@@ -4,7 +4,7 @@ const configSchema = ConfigurationSchema('CramAdapter', {
4
4
  fetchSizeLimit: {
5
5
  type: 'number',
6
6
  description: 'size in bytes over which to display a warning to the user that too much data will be fetched',
7
- defaultValue: 3000000,
7
+ defaultValue: 3_000_000,
8
8
  },
9
9
  cramLocation: {
10
10
  type: 'fileLocation',
@@ -20,11 +20,6 @@ const configSchema = ConfigurationSchema('CramAdapter', {
20
20
  locationType: 'UriLocation',
21
21
  },
22
22
  },
23
- sequenceAdapter: {
24
- type: 'frozen',
25
- description: 'sequence data adapter',
26
- defaultValue: null,
27
- },
28
23
  }, {
29
24
  explicitlyTyped: true,
30
25
  preProcessSnapshot: snap => {
@@ -0,0 +1,12 @@
1
+ export declare const CODE_X = 88;
2
+ export declare const CODE_I = 73;
3
+ export declare const CODE_N = 78;
4
+ export declare const CODE_S = 83;
5
+ export declare const CODE_P = 80;
6
+ export declare const CODE_H = 72;
7
+ export declare const CODE_D = 68;
8
+ export declare const CODE_b = 98;
9
+ export declare const CODE_q = 113;
10
+ export declare const CODE_B = 66;
11
+ export declare const CODE_i = 105;
12
+ export declare const CODE_Q = 81;
@@ -0,0 +1,12 @@
1
+ export const CODE_X = 88;
2
+ export const CODE_I = 73;
3
+ export const CODE_N = 78;
4
+ export const CODE_S = 83;
5
+ export const CODE_P = 80;
6
+ export const CODE_H = 72;
7
+ export const CODE_D = 68;
8
+ export const CODE_b = 98;
9
+ export const CODE_q = 113;
10
+ export const CODE_B = 66;
11
+ export const CODE_i = 105;
12
+ export const CODE_Q = 81;