@jbrowse/plugin-alignments 3.6.5 → 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 (640) 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 +41 -41
  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 +93 -144
  42. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +6 -2
  43. package/esm/CramAdapter/CramSlightlyLazyFeature.js +140 -18
  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 +19 -9
  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 +1249 -124
  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 +8 -8
  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 +5 -3
  81. package/esm/LinearPileupDisplay/doAfterAttach.js +17 -25
  82. package/esm/LinearPileupDisplay/index.d.ts +3 -3
  83. package/esm/LinearPileupDisplay/index.js +6 -5
  84. package/esm/LinearPileupDisplay/model.d.ts +1293 -155
  85. package/esm/LinearPileupDisplay/model.js +74 -122
  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/esm/LinearReadArcsDisplay/chainToSimpleFeature.d.ts +3 -0
  91. package/esm/LinearReadArcsDisplay/chainToSimpleFeature.js +40 -0
  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 +5 -4
  97. package/esm/LinearReadArcsDisplay/model.d.ts +225 -69
  98. package/esm/LinearReadArcsDisplay/model.js +60 -121
  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 +24 -0
  108. package/esm/LinearReadCloudDisplay/configSchema.d.ts +28 -5
  109. package/esm/LinearReadCloudDisplay/configSchema.js +21 -0
  110. package/esm/LinearReadCloudDisplay/index.js +9 -5
  111. package/esm/LinearReadCloudDisplay/model.d.ts +343 -61
  112. package/esm/LinearReadCloudDisplay/model.js +237 -76
  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 -6
  126. package/esm/LinearSNPCoverageDisplay/components/TooltipContents.js +191 -35
  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 +162 -66
  136. package/esm/MismatchParser/cigarToMismatches.d.ts +1 -1
  137. package/esm/MismatchParser/cigarToMismatches.js +6 -8
  138. package/esm/MismatchParser/cigarToMismatches2.d.ts +2 -0
  139. package/{dist/MismatchParser/cigarToMismatches.js → esm/MismatchParser/cigarToMismatches2.js} +23 -27
  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 +4 -0
  149. package/esm/ModificationParser/detectSimplexModifications.js +17 -0
  150. package/esm/ModificationParser/getMethBins.d.ts +1 -1
  151. package/esm/ModificationParser/getMethBins.js +5 -5
  152. package/esm/ModificationParser/getModPositions.d.ts +1 -1
  153. package/esm/ModificationParser/getModPositions.js +14 -17
  154. package/esm/ModificationParser/getModProbabilities.js +1 -1
  155. package/esm/ModificationParser/getModTypes.js +1 -1
  156. package/esm/PileupRPC/base.js +1 -2
  157. package/esm/PileupRPC/index.js +1 -2
  158. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +1 -1
  159. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +3 -6
  160. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +6 -3
  161. package/esm/PileupRPC/methods/GetVisibleModifications.js +20 -10
  162. package/esm/PileupRPC/rpcMethods.d.ts +2 -3
  163. package/esm/PileupRPC/rpcMethods.js +2 -3
  164. package/esm/PileupRenderer/PileupLayoutSession.d.ts +9 -9
  165. package/esm/PileupRenderer/PileupLayoutSession.js +18 -5
  166. package/esm/PileupRenderer/PileupRenderer.d.ts +5 -42
  167. package/esm/PileupRenderer/PileupRenderer.js +25 -70
  168. package/esm/PileupRenderer/colorBy.js +2 -2
  169. package/esm/PileupRenderer/components/PileupRendering.d.ts +9 -16
  170. package/esm/PileupRenderer/components/PileupRendering.js +152 -105
  171. package/esm/PileupRenderer/components/PileupTooltip.d.ts +10 -0
  172. package/esm/PileupRenderer/components/PileupTooltip.js +12 -0
  173. package/esm/PileupRenderer/components/util.d.ts +7 -0
  174. package/esm/PileupRenderer/components/util.js +17 -0
  175. package/esm/PileupRenderer/configSchema.d.ts +14 -4
  176. package/esm/PileupRenderer/configSchema.js +11 -1
  177. package/esm/PileupRenderer/index.js +4 -4
  178. package/esm/PileupRenderer/layoutFeature.d.ts +4 -12
  179. package/esm/PileupRenderer/layoutFeature.js +13 -18
  180. package/esm/PileupRenderer/layoutFeatures.d.ts +2 -2
  181. package/esm/PileupRenderer/layoutFeatures.js +21 -16
  182. package/esm/PileupRenderer/makeImageData.d.ts +20 -14
  183. package/esm/PileupRenderer/makeImageData.js +96 -14
  184. package/esm/PileupRenderer/renderers/cigarUtil.d.ts +18 -0
  185. package/esm/PileupRenderer/renderers/cigarUtil.js +23 -0
  186. package/esm/PileupRenderer/{getAlignmentShapeColor.js → renderers/getAlignmentShapeColor.js} +2 -2
  187. package/esm/PileupRenderer/{renderAlignment.d.ts → renderers/renderAlignment.d.ts} +6 -3
  188. package/esm/PileupRenderer/{renderAlignment.js → renderers/renderAlignment.js} +31 -26
  189. package/esm/PileupRenderer/renderers/renderAlignmentShape.d.ts +10 -0
  190. package/esm/PileupRenderer/renderers/renderAlignmentShape.js +165 -0
  191. package/esm/PileupRenderer/{renderMethylation.d.ts → renderers/renderMethylation.d.ts} +8 -6
  192. package/esm/PileupRenderer/renderers/renderMethylation.js +97 -0
  193. package/esm/PileupRenderer/renderers/renderMismatchesCallback.d.ts +32 -0
  194. package/esm/PileupRenderer/renderers/renderMismatchesCallback.js +304 -0
  195. package/esm/PileupRenderer/renderers/renderModifications.d.ts +20 -0
  196. package/esm/PileupRenderer/renderers/renderModifications.js +99 -0
  197. package/{dist/PileupRenderer → esm/PileupRenderer/renderers}/renderPerBaseLettering.d.ts +2 -2
  198. package/esm/PileupRenderer/renderers/renderPerBaseLettering.js +59 -0
  199. package/{dist/PileupRenderer → esm/PileupRenderer/renderers}/renderPerBaseQuality.d.ts +3 -4
  200. package/esm/PileupRenderer/renderers/renderPerBaseQuality.js +48 -0
  201. package/{dist/PileupRenderer → esm/PileupRenderer/renderers}/renderSoftClipping.d.ts +2 -2
  202. package/esm/PileupRenderer/renderers/renderSoftClipping.js +75 -0
  203. package/esm/PileupRenderer/sortUtil.d.ts +2 -2
  204. package/esm/PileupRenderer/sortUtil.js +34 -22
  205. package/esm/PileupRenderer/types.d.ts +32 -1
  206. package/esm/PileupRenderer/types.js +71 -1
  207. package/esm/PileupRenderer/util.d.ts +1 -22
  208. package/esm/PileupRenderer/util.js +12 -38
  209. package/esm/RenderLinearReadArcsDisplayRPC/RenderLinearReadArcsDisplay.d.ts +34 -0
  210. package/esm/RenderLinearReadArcsDisplayRPC/RenderLinearReadArcsDisplay.js +49 -0
  211. package/esm/RenderLinearReadArcsDisplayRPC/drawFeatsRPC.d.ts +24 -0
  212. package/esm/RenderLinearReadArcsDisplayRPC/drawFeatsRPC.js +156 -0
  213. package/esm/RenderLinearReadArcsDisplayRPC/executeRenderLinearReadArcsDisplay.d.ts +6 -0
  214. package/esm/RenderLinearReadArcsDisplayRPC/executeRenderLinearReadArcsDisplay.js +105 -0
  215. package/{dist/GuessAlignmentsTypes → esm/RenderLinearReadArcsDisplayRPC}/index.d.ts +1 -1
  216. package/esm/RenderLinearReadArcsDisplayRPC/index.js +4 -0
  217. package/esm/RenderLinearReadCloudDisplayRPC/RenderLinearReadCloudDisplay.d.ts +43 -0
  218. package/esm/RenderLinearReadCloudDisplayRPC/RenderLinearReadCloudDisplay.js +49 -0
  219. package/esm/RenderLinearReadCloudDisplayRPC/drawChainsUtil.d.ts +82 -0
  220. package/esm/RenderLinearReadCloudDisplayRPC/drawChainsUtil.js +164 -0
  221. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCloud.d.ts +17 -0
  222. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCloud.js +53 -0
  223. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCommon.d.ts +72 -0
  224. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsCommon.js +277 -0
  225. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsStack.d.ts +5 -0
  226. package/esm/RenderLinearReadCloudDisplayRPC/drawFeatsStack.js +16 -0
  227. package/esm/RenderLinearReadCloudDisplayRPC/drawLongReadChains.d.ts +27 -0
  228. package/esm/RenderLinearReadCloudDisplayRPC/drawLongReadChains.js +101 -0
  229. package/esm/RenderLinearReadCloudDisplayRPC/drawPairChains.d.ts +27 -0
  230. package/esm/RenderLinearReadCloudDisplayRPC/drawPairChains.js +95 -0
  231. package/esm/RenderLinearReadCloudDisplayRPC/executeRenderLinearReadCloudDisplay.d.ts +6 -0
  232. package/esm/RenderLinearReadCloudDisplayRPC/executeRenderLinearReadCloudDisplay.js +142 -0
  233. package/esm/RenderLinearReadCloudDisplayRPC/index.d.ts +2 -0
  234. package/esm/RenderLinearReadCloudDisplayRPC/index.js +4 -0
  235. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +18 -3
  236. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +205 -37
  237. package/esm/SNPCoverageAdapter/configSchema.d.ts +6 -2
  238. package/esm/SNPCoverageAdapter/configSchema.js +4 -0
  239. package/esm/SNPCoverageAdapter/generateCoverageBinsPrefixSum.d.ts +26 -0
  240. package/esm/SNPCoverageAdapter/generateCoverageBinsPrefixSum.js +438 -0
  241. package/esm/SNPCoverageAdapter/index.js +2 -2
  242. package/esm/SNPCoverageAdapter/processDepthPrefixSum.d.ts +10 -0
  243. package/esm/SNPCoverageAdapter/processDepthPrefixSum.js +55 -0
  244. package/esm/SNPCoverageAdapter/processModifications.d.ts +1 -1
  245. package/esm/SNPCoverageAdapter/processModifications.js +34 -36
  246. package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +2 -3
  247. package/esm/SNPCoverageAdapter/processReferenceCpGs.js +46 -44
  248. package/esm/SNPCoverageAdapter/util.d.ts +9 -5
  249. package/esm/SNPCoverageAdapter/util.js +48 -28
  250. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +14 -4
  251. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +29 -8
  252. package/esm/SNPCoverageRenderer/WiggleRendering.d.ts +14 -0
  253. package/esm/SNPCoverageRenderer/WiggleRendering.js +33 -0
  254. package/esm/SNPCoverageRenderer/calculateModificationCounts.d.ts +20 -0
  255. package/esm/SNPCoverageRenderer/calculateModificationCounts.js +22 -0
  256. package/esm/SNPCoverageRenderer/components/SNPCoverageRendering.d.ts +18 -0
  257. package/esm/SNPCoverageRenderer/components/SNPCoverageRendering.js +114 -0
  258. package/esm/SNPCoverageRenderer/configSchema.d.ts +2 -2
  259. package/esm/SNPCoverageRenderer/index.js +4 -4
  260. package/esm/SNPCoverageRenderer/makeImage.d.ts +2 -2
  261. package/esm/SNPCoverageRenderer/makeImage.js +384 -201
  262. package/esm/SNPCoverageRenderer/types.d.ts +55 -5
  263. package/esm/SNPCoverageRenderer/types.js +103 -1
  264. package/esm/SVGErrorBox.d.ts +5 -0
  265. package/esm/SVGErrorBox.js +4 -0
  266. package/esm/index.d.ts +3 -3
  267. package/esm/index.js +23 -21
  268. package/esm/saveTrackFormats/sam.d.ts +6 -0
  269. package/esm/saveTrackFormats/sam.js +42 -0
  270. package/esm/shared/LinearReadArcsDisplaySettingsMixin.d.ts +14 -0
  271. package/esm/shared/LinearReadArcsDisplaySettingsMixin.js +33 -0
  272. package/esm/shared/LinearReadDisplayBaseMixin.d.ts +33 -0
  273. package/esm/shared/LinearReadDisplayBaseMixin.js +31 -0
  274. package/esm/shared/LinearReadDisplayWithLayoutMixin.d.ts +16 -0
  275. package/esm/shared/LinearReadDisplayWithLayoutMixin.js +29 -0
  276. package/esm/shared/LinearReadDisplayWithPairFiltersMixin.d.ts +11 -0
  277. package/esm/shared/LinearReadDisplayWithPairFiltersMixin.js +24 -0
  278. package/esm/shared/SharedModificationsMixin.d.ts +12 -0
  279. package/esm/shared/SharedModificationsMixin.js +40 -0
  280. package/esm/shared/afterAttach.d.ts +1 -1
  281. package/esm/shared/afterAttach.js +4 -7
  282. package/esm/shared/arcUtils.d.ts +20 -0
  283. package/esm/shared/arcUtils.js +73 -0
  284. package/{dist/LinearReadCloudDisplay/util.d.ts → esm/shared/canvasUtils.d.ts} +1 -1
  285. package/esm/{LinearReadCloudDisplay/util.js → shared/canvasUtils.js} +9 -14
  286. package/esm/shared/chevron.d.ts +1 -0
  287. package/esm/shared/chevron.js +24 -0
  288. package/esm/shared/color.d.ts +54 -11
  289. package/esm/shared/color.js +121 -25
  290. package/esm/shared/components/FilterByTagDialog.d.ts +1 -1
  291. package/esm/shared/components/FilterByTagDialog.js +4 -5
  292. package/esm/shared/components/SetFeatureHeightDialog.d.ts +10 -0
  293. package/esm/shared/components/SetFeatureHeightDialog.js +24 -0
  294. package/esm/{LinearPileupDisplay → shared}/components/SetMaxHeightDialog.js +3 -3
  295. package/esm/shared/components/SetModificationThresholdDialog.d.ts +10 -0
  296. package/esm/shared/components/SetModificationThresholdDialog.js +37 -0
  297. package/esm/shared/createRPCRenderingSetup.d.ts +37 -0
  298. package/esm/shared/createRPCRenderingSetup.js +82 -0
  299. package/esm/shared/decodeSeq.d.ts +2 -0
  300. package/esm/shared/decodeSeq.js +26 -0
  301. package/esm/shared/flatbushType.d.ts +25 -0
  302. package/esm/shared/flatbushType.js +1 -0
  303. package/esm/shared/forEachMismatchTypes.d.ts +18 -0
  304. package/esm/shared/forEachMismatchTypes.js +24 -0
  305. package/esm/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  306. package/esm/shared/getMaximumModificationAtEachPosition.js +6 -7
  307. package/esm/shared/getUniqueModifications.d.ts +9 -4
  308. package/esm/shared/getUniqueModifications.js +3 -2
  309. package/esm/shared/getUniqueTags.d.ts +2 -2
  310. package/esm/shared/getUniqueTags.js +2 -1
  311. package/{dist/PileupRPC/util.d.ts → esm/shared/insertSizeStats.d.ts} +2 -2
  312. package/esm/shared/insertSizeStats.js +23 -0
  313. package/esm/shared/legendUtils.d.ts +8 -0
  314. package/esm/shared/legendUtils.js +123 -0
  315. package/esm/shared/menuItems.d.ts +119 -0
  316. package/esm/shared/menuItems.js +252 -0
  317. package/esm/shared/modificationData.d.ts +6 -0
  318. package/esm/shared/modificationData.js +17 -0
  319. package/esm/shared/primaryStrand.d.ts +3 -0
  320. package/esm/shared/primaryStrand.js +22 -0
  321. package/esm/shared/samFlags.d.ts +12 -0
  322. package/esm/shared/samFlags.js +12 -0
  323. package/esm/shared/setupModificationsAutorun.d.ts +11 -0
  324. package/esm/shared/setupModificationsAutorun.js +27 -0
  325. package/esm/shared/types.d.ts +69 -6
  326. package/esm/shared/util.d.ts +54 -1
  327. package/esm/shared/util.js +122 -1
  328. package/esm/svgExportUtil.d.ts +9 -0
  329. package/esm/svgExportUtil.js +6 -0
  330. package/esm/util.d.ts +3 -8
  331. package/esm/util.js +8 -23
  332. package/package.json +33 -38
  333. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +0 -5
  334. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +0 -63
  335. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +0 -1
  336. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -5
  337. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +0 -1
  338. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -5
  339. package/dist/AlignmentsFeatureDetail/Flags.d.ts +0 -3
  340. package/dist/AlignmentsFeatureDetail/Flags.js +0 -41
  341. package/dist/AlignmentsFeatureDetail/Formatter.d.ts +0 -3
  342. package/dist/AlignmentsFeatureDetail/Formatter.js +0 -23
  343. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +0 -6
  344. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +0 -84
  345. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +0 -6
  346. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +0 -107
  347. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +0 -6
  348. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +0 -22
  349. package/dist/AlignmentsFeatureDetail/PairLink.d.ts +0 -5
  350. package/dist/AlignmentsFeatureDetail/PairLink.js +0 -12
  351. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +0 -7
  352. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +0 -23
  353. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +0 -5
  354. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +0 -29
  355. package/dist/AlignmentsFeatureDetail/configSchema.d.ts +0 -1
  356. package/dist/AlignmentsFeatureDetail/configSchema.js +0 -5
  357. package/dist/AlignmentsFeatureDetail/getSAFeatures.d.ts +0 -23
  358. package/dist/AlignmentsFeatureDetail/getSAFeatures.js +0 -36
  359. package/dist/AlignmentsFeatureDetail/index.d.ts +0 -2
  360. package/dist/AlignmentsFeatureDetail/index.js +0 -52
  361. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +0 -22
  362. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.js +0 -49
  363. package/dist/AlignmentsFeatureDetail/stateModelFactory.d.ts +0 -103
  364. package/dist/AlignmentsFeatureDetail/stateModelFactory.js +0 -10
  365. package/dist/AlignmentsFeatureDetail/tagInfo.d.ts +0 -63
  366. package/dist/AlignmentsFeatureDetail/tagInfo.js +0 -66
  367. package/dist/AlignmentsFeatureDetail/util.d.ts +0 -6
  368. package/dist/AlignmentsFeatureDetail/util.js +0 -25
  369. package/dist/AlignmentsTrack/configSchemaF.d.ts +0 -79
  370. package/dist/AlignmentsTrack/configSchemaF.js +0 -11
  371. package/dist/AlignmentsTrack/index.d.ts +0 -2
  372. package/dist/AlignmentsTrack/index.js +0 -23
  373. package/dist/BamAdapter/BamAdapter.d.ts +0 -44
  374. package/dist/BamAdapter/BamAdapter.js +0 -181
  375. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +0 -17
  376. package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -69
  377. package/dist/BamAdapter/configSchema.d.ts +0 -34
  378. package/dist/BamAdapter/configSchema.js +0 -58
  379. package/dist/BamAdapter/index.d.ts +0 -2
  380. package/dist/BamAdapter/index.js +0 -51
  381. package/dist/CramAdapter/CramAdapter.d.ts +0 -53
  382. package/dist/CramAdapter/CramAdapter.js +0 -228
  383. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +0 -33
  384. package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -124
  385. package/dist/CramAdapter/CramTestAdapters.d.ts +0 -28
  386. package/dist/CramAdapter/CramTestAdapters.js +0 -85
  387. package/dist/CramAdapter/configSchema.d.ts +0 -27
  388. package/dist/CramAdapter/configSchema.js +0 -48
  389. package/dist/CramAdapter/index.d.ts +0 -2
  390. package/dist/CramAdapter/index.js +0 -51
  391. package/dist/CramAdapter/util.d.ts +0 -9
  392. package/dist/CramAdapter/util.js +0 -213
  393. package/dist/GuessAlignmentsTypes/index.js +0 -41
  394. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +0 -12
  395. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +0 -27
  396. package/dist/HtsgetBamAdapter/configSchema.d.ts +0 -18
  397. package/dist/HtsgetBamAdapter/configSchema.js +0 -22
  398. package/dist/HtsgetBamAdapter/index.d.ts +0 -2
  399. package/dist/HtsgetBamAdapter/index.js +0 -54
  400. package/dist/LinearAlignmentsDisplay/alignmentsModel.d.ts +0 -12
  401. package/dist/LinearAlignmentsDisplay/alignmentsModel.js +0 -18
  402. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +0 -5
  403. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +0 -31
  404. package/dist/LinearAlignmentsDisplay/configSchema.d.ts +0 -36
  405. package/dist/LinearAlignmentsDisplay/configSchema.js +0 -19
  406. package/dist/LinearAlignmentsDisplay/index.d.ts +0 -2
  407. package/dist/LinearAlignmentsDisplay/index.js +0 -24
  408. package/dist/LinearAlignmentsDisplay/model.d.ts +0 -126
  409. package/dist/LinearAlignmentsDisplay/model.js +0 -222
  410. package/dist/LinearAlignmentsDisplay/util.d.ts +0 -2
  411. package/dist/LinearAlignmentsDisplay/util.js +0 -9
  412. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +0 -394
  413. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +0 -524
  414. package/dist/LinearPileupDisplay/components/ColorByTagDialog.d.ts +0 -11
  415. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +0 -20
  416. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +0 -10
  417. package/dist/LinearPileupDisplay/components/GroupByDialog.js +0 -145
  418. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +0 -7
  419. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +0 -11
  420. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +0 -26
  421. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +0 -28
  422. package/dist/LinearPileupDisplay/components/SortByTagDialog.d.ts +0 -7
  423. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +0 -26
  424. package/dist/LinearPileupDisplay/configSchema.d.ts +0 -61
  425. package/dist/LinearPileupDisplay/configSchema.js +0 -40
  426. package/dist/LinearPileupDisplay/doAfterAttach.d.ts +0 -20
  427. package/dist/LinearPileupDisplay/doAfterAttach.js +0 -71
  428. package/dist/LinearPileupDisplay/index.d.ts +0 -5
  429. package/dist/LinearPileupDisplay/index.js +0 -32
  430. package/dist/LinearPileupDisplay/model.d.ts +0 -497
  431. package/dist/LinearPileupDisplay/model.js +0 -364
  432. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +0 -5
  433. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +0 -23
  434. package/dist/LinearReadArcsDisplay/configSchema.d.ts +0 -61
  435. package/dist/LinearReadArcsDisplay/configSchema.js +0 -36
  436. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +0 -2
  437. package/dist/LinearReadArcsDisplay/drawFeats.js +0 -152
  438. package/dist/LinearReadArcsDisplay/index.d.ts +0 -2
  439. package/dist/LinearReadArcsDisplay/index.js +0 -58
  440. package/dist/LinearReadArcsDisplay/model.d.ts +0 -196
  441. package/dist/LinearReadArcsDisplay/model.js +0 -280
  442. package/dist/LinearReadArcsDisplay/util.d.ts +0 -2
  443. package/dist/LinearReadArcsDisplay/util.js +0 -11
  444. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +0 -23
  445. package/dist/LinearReadCloudDisplay/configSchema.d.ts +0 -48
  446. package/dist/LinearReadCloudDisplay/configSchema.js +0 -25
  447. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +0 -2
  448. package/dist/LinearReadCloudDisplay/drawFeats.js +0 -27
  449. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +0 -11
  450. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +0 -64
  451. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +0 -17
  452. package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -94
  453. package/dist/LinearReadCloudDisplay/index.d.ts +0 -2
  454. package/dist/LinearReadCloudDisplay/index.js +0 -58
  455. package/dist/LinearReadCloudDisplay/model.d.ts +0 -175
  456. package/dist/LinearReadCloudDisplay/model.js +0 -198
  457. package/dist/LinearReadCloudDisplay/util.js +0 -32
  458. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +0 -12
  459. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +0 -15
  460. package/dist/LinearSNPCoverageDisplay/components/TooltipContents.d.ts +0 -11
  461. package/dist/LinearSNPCoverageDisplay/components/TooltipContents.js +0 -48
  462. package/dist/LinearSNPCoverageDisplay/configSchema.d.ts +0 -80
  463. package/dist/LinearSNPCoverageDisplay/configSchema.js +0 -62
  464. package/dist/LinearSNPCoverageDisplay/index.d.ts +0 -2
  465. package/dist/LinearSNPCoverageDisplay/index.js +0 -24
  466. package/dist/LinearSNPCoverageDisplay/model.d.ts +0 -111
  467. package/dist/LinearSNPCoverageDisplay/model.js +0 -262
  468. package/dist/MismatchParser/cigarToMismatches.d.ts +0 -2
  469. package/dist/MismatchParser/getNextRefPos.d.ts +0 -4
  470. package/dist/MismatchParser/getNextRefPos.js +0 -38
  471. package/dist/MismatchParser/index.d.ts +0 -27
  472. package/dist/MismatchParser/index.js +0 -145
  473. package/dist/MismatchParser/mdToMismatches.d.ts +0 -2
  474. package/dist/MismatchParser/mdToMismatches.js +0 -74
  475. package/dist/ModificationParser/consts.d.ts +0 -1
  476. package/dist/ModificationParser/consts.js +0 -4
  477. package/dist/ModificationParser/getMethBins.d.ts +0 -7
  478. package/dist/ModificationParser/getMethBins.js +0 -49
  479. package/dist/ModificationParser/getModPositions.d.ts +0 -6
  480. package/dist/ModificationParser/getModPositions.js +0 -64
  481. package/dist/ModificationParser/getModProbabilities.d.ts +0 -2
  482. package/dist/ModificationParser/getModProbabilities.js +0 -34
  483. package/dist/ModificationParser/getModTypes.d.ts +0 -5
  484. package/dist/ModificationParser/getModTypes.js +0 -35
  485. package/dist/PileupRPC/base.d.ts +0 -8
  486. package/dist/PileupRPC/base.js +0 -20
  487. package/dist/PileupRPC/index.d.ts +0 -2
  488. package/dist/PileupRPC/index.js +0 -9
  489. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +0 -13
  490. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +0 -29
  491. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +0 -37
  492. package/dist/PileupRPC/methods/GetReducedFeatures.js +0 -54
  493. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +0 -14
  494. package/dist/PileupRPC/methods/GetVisibleModifications.js +0 -36
  495. package/dist/PileupRPC/rpcMethods.d.ts +0 -3
  496. package/dist/PileupRPC/rpcMethods.js +0 -12
  497. package/dist/PileupRPC/util.js +0 -18
  498. package/dist/PileupRenderer/PileupLayoutSession.d.ts +0 -23
  499. package/dist/PileupRenderer/PileupLayoutSession.js +0 -35
  500. package/dist/PileupRenderer/PileupRenderer.d.ts +0 -48
  501. package/dist/PileupRenderer/PileupRenderer.js +0 -129
  502. package/dist/PileupRenderer/colorBy.d.ts +0 -7
  503. package/dist/PileupRenderer/colorBy.js +0 -61
  504. package/dist/PileupRenderer/components/PileupRendering.d.ts +0 -26
  505. package/dist/PileupRenderer/components/PileupRendering.js +0 -136
  506. package/dist/PileupRenderer/configSchema.d.ts +0 -62
  507. package/dist/PileupRenderer/configSchema.js +0 -71
  508. package/dist/PileupRenderer/getAlignmentShapeColor.js +0 -61
  509. package/dist/PileupRenderer/index.d.ts +0 -2
  510. package/dist/PileupRenderer/index.js +0 -20
  511. package/dist/PileupRenderer/layoutFeature.d.ts +0 -18
  512. package/dist/PileupRenderer/layoutFeature.js +0 -42
  513. package/dist/PileupRenderer/layoutFeatures.d.ts +0 -5
  514. package/dist/PileupRenderer/layoutFeatures.js +0 -29
  515. package/dist/PileupRenderer/makeImageData.d.ts +0 -14
  516. package/dist/PileupRenderer/makeImageData.js +0 -66
  517. package/dist/PileupRenderer/renderAlignment.d.ts +0 -13
  518. package/dist/PileupRenderer/renderAlignment.js +0 -81
  519. package/dist/PileupRenderer/renderAlignmentShape.d.ts +0 -7
  520. package/dist/PileupRenderer/renderAlignmentShape.js +0 -120
  521. package/dist/PileupRenderer/renderMethylation.d.ts +0 -12
  522. package/dist/PileupRenderer/renderMethylation.js +0 -60
  523. package/dist/PileupRenderer/renderMismatches.d.ts +0 -18
  524. package/dist/PileupRenderer/renderMismatches.js +0 -124
  525. package/dist/PileupRenderer/renderModifications.d.ts +0 -12
  526. package/dist/PileupRenderer/renderModifications.js +0 -44
  527. package/dist/PileupRenderer/renderPerBaseLettering.js +0 -42
  528. package/dist/PileupRenderer/renderPerBaseQuality.js +0 -35
  529. package/dist/PileupRenderer/renderSoftClipping.js +0 -59
  530. package/dist/PileupRenderer/sortUtil.d.ts +0 -3
  531. package/dist/PileupRenderer/sortUtil.js +0 -80
  532. package/dist/PileupRenderer/types.d.ts +0 -27
  533. package/dist/PileupRenderer/types.js +0 -2
  534. package/dist/PileupRenderer/util.d.ts +0 -28
  535. package/dist/PileupRenderer/util.js +0 -49
  536. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +0 -14
  537. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +0 -89
  538. package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -7
  539. package/dist/SNPCoverageAdapter/configSchema.js +0 -11
  540. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +0 -13
  541. package/dist/SNPCoverageAdapter/generateCoverageBins.js +0 -86
  542. package/dist/SNPCoverageAdapter/index.d.ts +0 -2
  543. package/dist/SNPCoverageAdapter/index.js +0 -54
  544. package/dist/SNPCoverageAdapter/processDepth.d.ts +0 -8
  545. package/dist/SNPCoverageAdapter/processDepth.js +0 -38
  546. package/dist/SNPCoverageAdapter/processMismatches.d.ts +0 -9
  547. package/dist/SNPCoverageAdapter/processMismatches.js +0 -58
  548. package/dist/SNPCoverageAdapter/processModifications.d.ts +0 -10
  549. package/dist/SNPCoverageAdapter/processModifications.js +0 -50
  550. package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +0 -9
  551. package/dist/SNPCoverageAdapter/processReferenceCpGs.js +0 -63
  552. package/dist/SNPCoverageAdapter/util.d.ts +0 -10
  553. package/dist/SNPCoverageAdapter/util.js +0 -41
  554. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +0 -5
  555. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +0 -46
  556. package/dist/SNPCoverageRenderer/configSchema.d.ts +0 -33
  557. package/dist/SNPCoverageRenderer/configSchema.js +0 -37
  558. package/dist/SNPCoverageRenderer/index.d.ts +0 -2
  559. package/dist/SNPCoverageRenderer/index.js +0 -17
  560. package/dist/SNPCoverageRenderer/makeImage.d.ts +0 -2
  561. package/dist/SNPCoverageRenderer/makeImage.js +0 -259
  562. package/dist/SNPCoverageRenderer/types.d.ts +0 -20
  563. package/dist/SNPCoverageRenderer/types.js +0 -2
  564. package/dist/index.d.ts +0 -9
  565. package/dist/index.js +0 -89
  566. package/dist/shared/afterAttach.d.ts +0 -2
  567. package/dist/shared/afterAttach.js +0 -40
  568. package/dist/shared/color.d.ts +0 -58
  569. package/dist/shared/color.js +0 -79
  570. package/dist/shared/components/BaseDisplayComponent.d.ts +0 -7
  571. package/dist/shared/components/BaseDisplayComponent.js +0 -44
  572. package/dist/shared/components/FilterByTagDialog.d.ts +0 -9
  573. package/dist/shared/components/FilterByTagDialog.js +0 -88
  574. package/dist/shared/fetchChains.d.ts +0 -28
  575. package/dist/shared/fetchChains.js +0 -22
  576. package/dist/shared/getMaximumModificationAtEachPosition.d.ts +0 -8
  577. package/dist/shared/getMaximumModificationAtEachPosition.js +0 -42
  578. package/dist/shared/getUniqueModifications.d.ts +0 -15
  579. package/dist/shared/getUniqueModifications.js +0 -22
  580. package/dist/shared/getUniqueTags.d.ts +0 -15
  581. package/dist/shared/getUniqueTags.js +0 -18
  582. package/dist/shared/renderSvgUtil.d.ts +0 -6
  583. package/dist/shared/renderSvgUtil.js +0 -66
  584. package/dist/shared/types.d.ts +0 -94
  585. package/dist/shared/types.js +0 -2
  586. package/dist/shared/util.d.ts +0 -20
  587. package/dist/shared/util.js +0 -63
  588. package/dist/util.d.ts +0 -30
  589. package/dist/util.js +0 -125
  590. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +0 -1
  591. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  592. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +0 -1
  593. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  594. package/esm/CramAdapter/util.d.ts +0 -9
  595. package/esm/CramAdapter/util.js +0 -209
  596. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +0 -8
  597. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +0 -2
  598. package/esm/LinearReadArcsDisplay/drawFeats.js +0 -149
  599. package/esm/LinearReadArcsDisplay/util.d.ts +0 -2
  600. package/esm/LinearReadArcsDisplay/util.js +0 -8
  601. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +0 -5
  602. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +0 -18
  603. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +0 -2
  604. package/esm/LinearReadCloudDisplay/drawFeats.js +0 -24
  605. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +0 -11
  606. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +0 -61
  607. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +0 -17
  608. package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -90
  609. package/esm/LinearReadCloudDisplay/util.d.ts +0 -2
  610. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +0 -37
  611. package/esm/PileupRPC/methods/GetReducedFeatures.js +0 -48
  612. package/esm/PileupRPC/util.d.ts +0 -8
  613. package/esm/PileupRPC/util.js +0 -14
  614. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +0 -10
  615. package/esm/PileupRenderer/renderAlignmentShape.d.ts +0 -7
  616. package/esm/PileupRenderer/renderAlignmentShape.js +0 -117
  617. package/esm/PileupRenderer/renderMethylation.js +0 -57
  618. package/esm/PileupRenderer/renderMismatches.d.ts +0 -18
  619. package/esm/PileupRenderer/renderMismatches.js +0 -121
  620. package/esm/PileupRenderer/renderModifications.d.ts +0 -12
  621. package/esm/PileupRenderer/renderModifications.js +0 -41
  622. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +0 -14
  623. package/esm/PileupRenderer/renderPerBaseLettering.js +0 -39
  624. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +0 -10
  625. package/esm/PileupRenderer/renderPerBaseQuality.js +0 -32
  626. package/esm/PileupRenderer/renderSoftClipping.d.ts +0 -13
  627. package/esm/PileupRenderer/renderSoftClipping.js +0 -56
  628. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +0 -13
  629. package/esm/SNPCoverageAdapter/generateCoverageBins.js +0 -83
  630. package/esm/SNPCoverageAdapter/processDepth.d.ts +0 -8
  631. package/esm/SNPCoverageAdapter/processDepth.js +0 -35
  632. package/esm/SNPCoverageAdapter/processMismatches.d.ts +0 -9
  633. package/esm/SNPCoverageAdapter/processMismatches.js +0 -55
  634. package/esm/shared/components/BaseDisplayComponent.d.ts +0 -7
  635. package/esm/shared/components/BaseDisplayComponent.js +0 -42
  636. package/esm/shared/fetchChains.d.ts +0 -28
  637. package/esm/shared/fetchChains.js +0 -19
  638. /package/{dist/LinearPileupDisplay → esm/LinearReadCloudDisplay}/components/SetFeatureHeightDialog.d.ts +0 -0
  639. /package/{dist/PileupRenderer → esm/PileupRenderer/renderers}/getAlignmentShapeColor.d.ts +0 -0
  640. /package/{dist/LinearPileupDisplay → esm/shared}/components/SetMaxHeightDialog.d.ts +0 -0
@@ -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,47 +123,49 @@ 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);
216
165
  return chrId !== undefined
217
166
  ? cram.index.getEntriesForRange(chrId, start, end)
218
- : [{ sliceBytes: 0 }];
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,6 +1,14 @@
1
- import { readFeaturesToCIGAR, readFeaturesToMismatches } from './util';
2
- 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
+ ]);
3
9
  export default class CramSlightlyLazyFeature {
10
+ record;
11
+ _store;
4
12
  constructor(record, _store) {
5
13
  this.record = record;
6
14
  this._store = _store;
@@ -12,8 +20,7 @@ export default class CramSlightlyLazyFeature {
12
20
  return this.record.alignmentStart - 1;
13
21
  }
14
22
  get end() {
15
- var _a;
16
- return this.start + ((_a = this.record.lengthOnRef) !== null && _a !== void 0 ? _a : 1);
23
+ return this.start + (this.record.lengthOnRef ?? 1);
17
24
  }
18
25
  get score() {
19
26
  return this.record.mappingQuality;
@@ -53,31 +60,45 @@ export default class CramSlightlyLazyFeature {
53
60
  return !!this.record.mate;
54
61
  }
55
62
  get next_pos() {
56
- var _a;
57
- return (_a = this.record.mate) === null || _a === void 0 ? void 0 : _a.alignmentStart;
63
+ return this.record.mate?.alignmentStart;
58
64
  }
59
65
  get tags() {
60
- var _a;
61
- 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];
62
67
  return RG !== undefined ? { ...this.record.tags, RG } : this.record.tags;
63
68
  }
64
69
  get seq() {
65
70
  return this.record.getReadBases();
66
71
  }
72
+ get NUMERIC_CIGAR() {
73
+ return readFeaturesToNumericCIGAR(this.record.readFeatures, this.record.alignmentStart, this.record.readLength);
74
+ }
67
75
  get CIGAR() {
68
- 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;
69
85
  }
70
86
  id() {
71
87
  return `${this._store.id}-${this.record.uniqueId}`;
72
88
  }
73
89
  get(field) {
74
- return field === 'mismatches'
75
- ? this.mismatches
76
- : field === 'qual'
77
- ? this.qual
78
- : field === 'CIGAR'
79
- ? this.CIGAR
80
- : 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
+ }
81
102
  }
82
103
  parent() {
83
104
  return undefined;
@@ -86,7 +107,107 @@ export default class CramSlightlyLazyFeature {
86
107
  return undefined;
87
108
  }
88
109
  get mismatches() {
89
- 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
+ }
90
211
  }
91
212
  get fields() {
92
213
  return {
@@ -97,7 +218,7 @@ export default class CramSlightlyLazyFeature {
97
218
  strand: this.strand,
98
219
  template_length: this.template_length,
99
220
  flags: this.flags,
100
- tags: this.tags,
221
+ tags: convertTagsToPlainArrays(this.tags),
101
222
  refName: this.refName,
102
223
  seq: this.seq,
103
224
  type: 'match',
@@ -118,4 +239,5 @@ export default class CramSlightlyLazyFeature {
118
239
  }
119
240
  cacheGetter(CramSlightlyLazyFeature, 'fields');
120
241
  cacheGetter(CramSlightlyLazyFeature, 'CIGAR');
242
+ cacheGetter(CramSlightlyLazyFeature, 'NUMERIC_CIGAR');
121
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;