@jbrowse/plugin-alignments 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -3
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +25 -24
  3. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  4. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  5. package/dist/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  6. package/dist/AlignmentsFeatureDetail/Flags.js +8 -10
  7. package/dist/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  8. package/dist/AlignmentsFeatureDetail/Formatter.js +11 -39
  9. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +4 -7
  10. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +46 -54
  11. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +4 -7
  12. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +58 -61
  13. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +3 -4
  14. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +4 -5
  15. package/dist/AlignmentsFeatureDetail/PairLink.d.ts +2 -3
  16. package/dist/AlignmentsFeatureDetail/PairLink.js +3 -7
  17. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +3 -4
  18. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +6 -9
  19. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +2 -3
  20. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +21 -31
  21. package/dist/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  22. package/dist/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
  23. package/dist/AlignmentsFeatureDetail/index.d.ts +1 -1
  24. package/dist/AlignmentsFeatureDetail/index.js +17 -7
  25. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  26. package/dist/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
  27. package/dist/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  28. package/dist/AlignmentsFeatureDetail/tagInfo.js +1 -1
  29. package/dist/AlignmentsFeatureDetail/util.d.ts +1 -1
  30. package/dist/AlignmentsTrack/configSchemaF.d.ts +1 -1
  31. package/dist/AlignmentsTrack/configSchemaF.js +1 -8
  32. package/dist/AlignmentsTrack/index.d.ts +1 -1
  33. package/dist/AlignmentsTrack/index.js +0 -3
  34. package/dist/BamAdapter/BamAdapter.d.ts +6 -5
  35. package/dist/BamAdapter/BamAdapter.js +21 -39
  36. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  37. package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  38. package/dist/BamAdapter/configSchema.d.ts +0 -17
  39. package/dist/BamAdapter/configSchema.js +1 -22
  40. package/dist/BamAdapter/index.d.ts +1 -1
  41. package/dist/BamAdapter/index.js +17 -7
  42. package/dist/CramAdapter/CramAdapter.d.ts +6 -9
  43. package/dist/CramAdapter/CramAdapter.js +25 -43
  44. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  45. package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  46. package/dist/CramAdapter/CramTestAdapters.d.ts +3 -3
  47. package/dist/CramAdapter/CramTestAdapters.js +6 -6
  48. package/dist/CramAdapter/configSchema.d.ts +0 -14
  49. package/dist/CramAdapter/configSchema.js +1 -19
  50. package/dist/CramAdapter/index.d.ts +1 -1
  51. package/dist/CramAdapter/index.js +17 -8
  52. package/dist/CramAdapter/util.d.ts +2 -2
  53. package/dist/CramAdapter/util.js +1 -24
  54. package/dist/GuessAlignmentsTypes/index.d.ts +1 -1
  55. package/dist/GuessAlignmentsTypes/index.js +19 -34
  56. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  57. package/dist/HtsgetBamAdapter/configSchema.d.ts +0 -9
  58. package/dist/HtsgetBamAdapter/configSchema.js +1 -14
  59. package/dist/HtsgetBamAdapter/index.d.ts +1 -1
  60. package/dist/HtsgetBamAdapter/index.js +18 -8
  61. package/dist/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
  62. package/dist/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
  63. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -3
  64. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -18
  65. package/dist/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
  66. package/dist/LinearAlignmentsDisplay/configSchema.js +3 -20
  67. package/dist/LinearAlignmentsDisplay/index.d.ts +1 -1
  68. package/dist/LinearAlignmentsDisplay/index.js +1 -2
  69. package/dist/LinearAlignmentsDisplay/model.d.ts +7 -77
  70. package/dist/LinearAlignmentsDisplay/model.js +10 -85
  71. package/dist/LinearAlignmentsDisplay/util.d.ts +1 -1
  72. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +52 -164
  73. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +71 -145
  74. package/dist/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  75. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +12 -41
  76. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +3 -4
  77. package/dist/LinearPileupDisplay/components/GroupByDialog.js +106 -92
  78. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -8
  79. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +3 -7
  80. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  81. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +15 -44
  82. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  83. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +12 -40
  84. package/dist/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  85. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +17 -46
  86. package/dist/LinearPileupDisplay/configSchema.d.ts +13 -16
  87. package/dist/LinearPileupDisplay/configSchema.js +12 -30
  88. package/dist/LinearPileupDisplay/index.d.ts +1 -1
  89. package/dist/LinearPileupDisplay/index.js +2 -2
  90. package/dist/LinearPileupDisplay/model.d.ts +123 -111
  91. package/dist/LinearPileupDisplay/model.js +29 -109
  92. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -3
  93. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +6 -33
  94. package/dist/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  95. package/dist/LinearReadArcsDisplay/configSchema.js +8 -31
  96. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  97. package/dist/LinearReadArcsDisplay/drawFeats.js +1 -9
  98. package/dist/LinearReadArcsDisplay/index.d.ts +1 -1
  99. package/dist/LinearReadArcsDisplay/index.js +18 -9
  100. package/dist/LinearReadArcsDisplay/model.d.ts +16 -94
  101. package/dist/LinearReadArcsDisplay/model.js +34 -111
  102. package/dist/LinearReadArcsDisplay/util.d.ts +1 -1
  103. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -3
  104. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +6 -33
  105. package/dist/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  106. package/dist/LinearReadCloudDisplay/configSchema.js +3 -28
  107. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  108. package/dist/LinearReadCloudDisplay/drawFeats.js +2 -2
  109. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  110. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  111. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  112. package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -3
  113. package/dist/LinearReadCloudDisplay/index.d.ts +1 -1
  114. package/dist/LinearReadCloudDisplay/index.js +18 -9
  115. package/dist/LinearReadCloudDisplay/model.d.ts +14 -56
  116. package/dist/LinearReadCloudDisplay/model.js +34 -75
  117. package/dist/LinearReadCloudDisplay/util.js +0 -1
  118. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -3
  119. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +16 -55
  120. package/dist/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  121. package/dist/LinearSNPCoverageDisplay/configSchema.js +16 -32
  122. package/dist/LinearSNPCoverageDisplay/index.d.ts +1 -1
  123. package/dist/LinearSNPCoverageDisplay/index.js +1 -2
  124. package/dist/LinearSNPCoverageDisplay/model.d.ts +13 -54
  125. package/dist/LinearSNPCoverageDisplay/model.js +69 -159
  126. package/dist/MismatchParser/cigarToMismatches.d.ts +2 -3
  127. package/dist/MismatchParser/cigarToMismatches.js +4 -7
  128. package/dist/MismatchParser/getNextRefPos.js +0 -2
  129. package/dist/MismatchParser/index.d.ts +3 -4
  130. package/dist/MismatchParser/index.js +1 -9
  131. package/dist/MismatchParser/mdToMismatches.d.ts +2 -3
  132. package/dist/MismatchParser/mdToMismatches.js +0 -6
  133. package/dist/ModificationParser/index.d.ts +1 -1
  134. package/dist/ModificationParser/index.js +1 -18
  135. package/dist/PileupRPC/base.d.ts +2 -2
  136. package/dist/PileupRPC/base.js +0 -1
  137. package/dist/PileupRPC/index.d.ts +1 -1
  138. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  139. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  140. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  141. package/dist/PileupRPC/methods/GetReducedFeatures.js +3 -5
  142. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  143. package/dist/PileupRPC/methods/GetVisibleModifications.js +1 -1
  144. package/dist/PileupRPC/util.d.ts +1 -1
  145. package/dist/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  146. package/dist/PileupRenderer/PileupLayoutSession.js +2 -5
  147. package/dist/PileupRenderer/PileupRenderer.d.ts +14 -24
  148. package/dist/PileupRenderer/PileupRenderer.js +28 -23
  149. package/dist/PileupRenderer/colorBy.d.ts +2 -2
  150. package/dist/PileupRenderer/colorBy.js +0 -6
  151. package/dist/PileupRenderer/components/PileupRendering.d.ts +2 -3
  152. package/dist/PileupRenderer/components/PileupRendering.js +15 -43
  153. package/dist/PileupRenderer/configSchema.d.ts +5 -31
  154. package/dist/PileupRenderer/configSchema.js +6 -35
  155. package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  156. package/dist/PileupRenderer/getAlignmentShapeColor.js +1 -6
  157. package/dist/PileupRenderer/index.d.ts +1 -1
  158. package/dist/PileupRenderer/index.js +1 -1
  159. package/dist/PileupRenderer/layoutFeature.d.ts +2 -2
  160. package/dist/PileupRenderer/layoutFeature.js +0 -1
  161. package/dist/PileupRenderer/layoutFeatures.d.ts +5 -2
  162. package/dist/PileupRenderer/layoutFeatures.js +6 -4
  163. package/dist/PileupRenderer/makeImageData.d.ts +3 -4
  164. package/dist/PileupRenderer/makeImageData.js +10 -2
  165. package/dist/PileupRenderer/renderAlignment.d.ts +3 -3
  166. package/dist/PileupRenderer/renderAlignment.js +3 -5
  167. package/dist/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  168. package/dist/PileupRenderer/renderAlignmentShape.js +1 -1
  169. package/dist/PileupRenderer/renderMethylation.d.ts +4 -4
  170. package/dist/PileupRenderer/renderMethylation.js +0 -4
  171. package/dist/PileupRenderer/renderMismatches.d.ts +5 -4
  172. package/dist/PileupRenderer/renderMismatches.js +19 -25
  173. package/dist/PileupRenderer/renderModifications.d.ts +3 -3
  174. package/dist/PileupRenderer/renderModifications.js +1 -3
  175. package/dist/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  176. package/dist/PileupRenderer/renderPerBaseLettering.js +0 -1
  177. package/dist/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  178. package/dist/PileupRenderer/renderPerBaseQuality.js +2 -2
  179. package/dist/PileupRenderer/renderSoftClipping.d.ts +5 -5
  180. package/dist/PileupRenderer/renderSoftClipping.js +0 -4
  181. package/dist/PileupRenderer/sortUtil.d.ts +2 -2
  182. package/dist/PileupRenderer/sortUtil.js +1 -4
  183. package/dist/PileupRenderer/types.d.ts +26 -0
  184. package/dist/PileupRenderer/types.js +2 -0
  185. package/dist/PileupRenderer/util.d.ts +2 -2
  186. package/dist/PileupRenderer/util.js +1 -3
  187. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  188. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +4 -6
  189. package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -4
  190. package/dist/SNPCoverageAdapter/configSchema.js +1 -8
  191. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  192. package/dist/SNPCoverageAdapter/generateCoverageBins.js +25 -247
  193. package/dist/SNPCoverageAdapter/index.d.ts +1 -1
  194. package/dist/SNPCoverageAdapter/index.js +17 -7
  195. package/dist/SNPCoverageAdapter/processDepth.d.ts +8 -0
  196. package/dist/SNPCoverageAdapter/processDepth.js +38 -0
  197. package/dist/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  198. package/dist/SNPCoverageAdapter/processMismatches.js +58 -0
  199. package/dist/SNPCoverageAdapter/processModifications.d.ts +10 -0
  200. package/dist/SNPCoverageAdapter/processModifications.js +49 -0
  201. package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  202. package/dist/SNPCoverageAdapter/processReferenceCpGs.js +63 -0
  203. package/dist/SNPCoverageAdapter/util.d.ts +10 -0
  204. package/dist/SNPCoverageAdapter/util.js +41 -0
  205. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +2 -18
  206. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +35 -288
  207. package/dist/SNPCoverageRenderer/configSchema.d.ts +3 -18
  208. package/dist/SNPCoverageRenderer/configSchema.js +4 -22
  209. package/dist/SNPCoverageRenderer/index.d.ts +1 -1
  210. package/dist/SNPCoverageRenderer/index.js +2 -2
  211. package/dist/SNPCoverageRenderer/makeImage.d.ts +2 -0
  212. package/dist/SNPCoverageRenderer/makeImage.js +270 -0
  213. package/dist/SNPCoverageRenderer/types.d.ts +19 -0
  214. package/dist/SNPCoverageRenderer/types.js +2 -0
  215. package/dist/index.d.ts +2 -2
  216. package/dist/index.js +29 -19
  217. package/dist/shared/afterAttach.d.ts +1 -1
  218. package/dist/shared/afterAttach.js +0 -2
  219. package/dist/shared/color.d.ts +1 -1
  220. package/dist/shared/color.js +0 -8
  221. package/dist/shared/components/BaseDisplayComponent.d.ts +3 -4
  222. package/dist/shared/components/BaseDisplayComponent.js +13 -19
  223. package/dist/shared/components/FilterByTagDialog.d.ts +2 -3
  224. package/dist/shared/components/FilterByTagDialog.js +44 -94
  225. package/dist/shared/fetchChains.d.ts +2 -2
  226. package/dist/shared/fetchChains.js +1 -2
  227. package/dist/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  228. package/dist/shared/getMaximumModificationAtEachPosition.js +1 -2
  229. package/dist/shared/getUniqueModifications.d.ts +5 -5
  230. package/dist/shared/getUniqueTags.d.ts +4 -4
  231. package/dist/shared/renderSvgUtil.d.ts +1 -2
  232. package/dist/shared/renderSvgUtil.js +20 -19
  233. package/dist/shared/util.d.ts +11 -1
  234. package/dist/shared/util.js +27 -1
  235. package/dist/util.d.ts +4 -4
  236. package/dist/util.js +3 -9
  237. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -3
  238. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +8 -17
  239. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  240. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  241. package/esm/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  242. package/esm/AlignmentsFeatureDetail/Flags.js +8 -10
  243. package/esm/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  244. package/esm/AlignmentsFeatureDetail/Formatter.js +11 -16
  245. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +4 -7
  246. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +30 -48
  247. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +4 -7
  248. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +41 -54
  249. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +3 -4
  250. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +4 -5
  251. package/esm/AlignmentsFeatureDetail/PairLink.d.ts +2 -3
  252. package/esm/AlignmentsFeatureDetail/PairLink.js +3 -4
  253. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +3 -4
  254. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +6 -9
  255. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +2 -3
  256. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +22 -29
  257. package/esm/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  258. package/esm/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
  259. package/esm/AlignmentsFeatureDetail/index.d.ts +1 -1
  260. package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  261. package/esm/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
  262. package/esm/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  263. package/esm/AlignmentsFeatureDetail/tagInfo.js +1 -1
  264. package/esm/AlignmentsFeatureDetail/util.d.ts +1 -1
  265. package/esm/AlignmentsTrack/configSchemaF.d.ts +1 -1
  266. package/esm/AlignmentsTrack/configSchemaF.js +1 -8
  267. package/esm/AlignmentsTrack/index.d.ts +1 -1
  268. package/esm/AlignmentsTrack/index.js +0 -3
  269. package/esm/BamAdapter/BamAdapter.d.ts +6 -5
  270. package/esm/BamAdapter/BamAdapter.js +19 -37
  271. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  272. package/esm/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  273. package/esm/BamAdapter/configSchema.d.ts +0 -17
  274. package/esm/BamAdapter/configSchema.js +1 -22
  275. package/esm/BamAdapter/index.d.ts +1 -1
  276. package/esm/CramAdapter/CramAdapter.d.ts +6 -9
  277. package/esm/CramAdapter/CramAdapter.js +24 -42
  278. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  279. package/esm/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  280. package/esm/CramAdapter/CramTestAdapters.d.ts +3 -3
  281. package/esm/CramAdapter/CramTestAdapters.js +6 -6
  282. package/esm/CramAdapter/configSchema.d.ts +0 -14
  283. package/esm/CramAdapter/configSchema.js +1 -19
  284. package/esm/CramAdapter/index.d.ts +1 -1
  285. package/esm/CramAdapter/index.js +0 -1
  286. package/esm/CramAdapter/util.d.ts +2 -2
  287. package/esm/CramAdapter/util.js +1 -24
  288. package/esm/GuessAlignmentsTypes/index.d.ts +1 -1
  289. package/esm/GuessAlignmentsTypes/index.js +20 -35
  290. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  291. package/esm/HtsgetBamAdapter/configSchema.d.ts +0 -9
  292. package/esm/HtsgetBamAdapter/configSchema.js +1 -14
  293. package/esm/HtsgetBamAdapter/index.d.ts +1 -1
  294. package/esm/HtsgetBamAdapter/index.js +1 -1
  295. package/esm/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
  296. package/esm/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
  297. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -3
  298. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -15
  299. package/esm/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
  300. package/esm/LinearAlignmentsDisplay/configSchema.js +3 -20
  301. package/esm/LinearAlignmentsDisplay/index.d.ts +1 -1
  302. package/esm/LinearAlignmentsDisplay/index.js +1 -2
  303. package/esm/LinearAlignmentsDisplay/model.d.ts +7 -77
  304. package/esm/LinearAlignmentsDisplay/model.js +11 -86
  305. package/esm/LinearAlignmentsDisplay/util.d.ts +1 -1
  306. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +52 -164
  307. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +56 -140
  308. package/esm/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  309. package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +12 -18
  310. package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +3 -4
  311. package/esm/LinearPileupDisplay/components/GroupByDialog.js +106 -69
  312. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -8
  313. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +3 -4
  314. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  315. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +15 -21
  316. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  317. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +12 -17
  318. package/esm/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  319. package/esm/LinearPileupDisplay/components/SortByTagDialog.js +17 -23
  320. package/esm/LinearPileupDisplay/configSchema.d.ts +13 -16
  321. package/esm/LinearPileupDisplay/configSchema.js +12 -30
  322. package/esm/LinearPileupDisplay/index.d.ts +1 -1
  323. package/esm/LinearPileupDisplay/index.js +2 -2
  324. package/esm/LinearPileupDisplay/model.d.ts +123 -111
  325. package/esm/LinearPileupDisplay/model.js +13 -103
  326. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -3
  327. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +6 -10
  328. package/esm/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  329. package/esm/LinearReadArcsDisplay/configSchema.js +8 -31
  330. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  331. package/esm/LinearReadArcsDisplay/drawFeats.js +1 -9
  332. package/esm/LinearReadArcsDisplay/index.d.ts +1 -1
  333. package/esm/LinearReadArcsDisplay/index.js +1 -2
  334. package/esm/LinearReadArcsDisplay/model.d.ts +16 -94
  335. package/esm/LinearReadArcsDisplay/model.js +18 -105
  336. package/esm/LinearReadArcsDisplay/util.d.ts +1 -1
  337. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -3
  338. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +6 -10
  339. package/esm/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  340. package/esm/LinearReadCloudDisplay/configSchema.js +3 -28
  341. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  342. package/esm/LinearReadCloudDisplay/drawFeats.js +2 -2
  343. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  344. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  345. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  346. package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -3
  347. package/esm/LinearReadCloudDisplay/index.d.ts +1 -1
  348. package/esm/LinearReadCloudDisplay/index.js +1 -2
  349. package/esm/LinearReadCloudDisplay/model.d.ts +14 -56
  350. package/esm/LinearReadCloudDisplay/model.js +17 -68
  351. package/esm/LinearReadCloudDisplay/util.js +0 -1
  352. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -3
  353. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +16 -52
  354. package/esm/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  355. package/esm/LinearSNPCoverageDisplay/configSchema.js +16 -32
  356. package/esm/LinearSNPCoverageDisplay/index.d.ts +1 -1
  357. package/esm/LinearSNPCoverageDisplay/index.js +1 -2
  358. package/esm/LinearSNPCoverageDisplay/model.d.ts +13 -54
  359. package/esm/LinearSNPCoverageDisplay/model.js +53 -153
  360. package/esm/MismatchParser/cigarToMismatches.d.ts +2 -3
  361. package/esm/MismatchParser/cigarToMismatches.js +4 -7
  362. package/esm/MismatchParser/getNextRefPos.js +0 -2
  363. package/esm/MismatchParser/index.d.ts +3 -4
  364. package/esm/MismatchParser/index.js +1 -9
  365. package/esm/MismatchParser/mdToMismatches.d.ts +2 -3
  366. package/esm/MismatchParser/mdToMismatches.js +0 -6
  367. package/esm/ModificationParser/index.d.ts +1 -1
  368. package/esm/ModificationParser/index.js +1 -18
  369. package/esm/PileupRPC/base.d.ts +2 -2
  370. package/esm/PileupRPC/base.js +0 -1
  371. package/esm/PileupRPC/index.d.ts +1 -1
  372. package/esm/PileupRPC/index.js +1 -1
  373. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  374. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  375. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  376. package/esm/PileupRPC/methods/GetReducedFeatures.js +3 -5
  377. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  378. package/esm/PileupRPC/methods/GetVisibleModifications.js +1 -1
  379. package/esm/PileupRPC/util.d.ts +1 -1
  380. package/esm/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  381. package/esm/PileupRenderer/PileupLayoutSession.js +2 -5
  382. package/esm/PileupRenderer/PileupRenderer.d.ts +14 -24
  383. package/esm/PileupRenderer/PileupRenderer.js +12 -17
  384. package/esm/PileupRenderer/colorBy.d.ts +2 -2
  385. package/esm/PileupRenderer/colorBy.js +1 -7
  386. package/esm/PileupRenderer/components/PileupRendering.d.ts +2 -3
  387. package/esm/PileupRenderer/components/PileupRendering.js +15 -20
  388. package/esm/PileupRenderer/configSchema.d.ts +5 -31
  389. package/esm/PileupRenderer/configSchema.js +6 -35
  390. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  391. package/esm/PileupRenderer/getAlignmentShapeColor.js +2 -7
  392. package/esm/PileupRenderer/index.d.ts +1 -1
  393. package/esm/PileupRenderer/index.js +1 -1
  394. package/esm/PileupRenderer/layoutFeature.d.ts +2 -2
  395. package/esm/PileupRenderer/layoutFeature.js +0 -1
  396. package/esm/PileupRenderer/layoutFeatures.d.ts +5 -2
  397. package/esm/PileupRenderer/layoutFeatures.js +7 -5
  398. package/esm/PileupRenderer/makeImageData.d.ts +3 -4
  399. package/esm/PileupRenderer/makeImageData.js +10 -2
  400. package/esm/PileupRenderer/renderAlignment.d.ts +3 -3
  401. package/esm/PileupRenderer/renderAlignment.js +3 -5
  402. package/esm/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  403. package/esm/PileupRenderer/renderAlignmentShape.js +1 -1
  404. package/esm/PileupRenderer/renderMethylation.d.ts +4 -4
  405. package/esm/PileupRenderer/renderMethylation.js +0 -4
  406. package/esm/PileupRenderer/renderMismatches.d.ts +5 -4
  407. package/esm/PileupRenderer/renderMismatches.js +19 -25
  408. package/esm/PileupRenderer/renderModifications.d.ts +3 -3
  409. package/esm/PileupRenderer/renderModifications.js +1 -3
  410. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  411. package/esm/PileupRenderer/renderPerBaseLettering.js +0 -1
  412. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  413. package/esm/PileupRenderer/renderPerBaseQuality.js +2 -2
  414. package/esm/PileupRenderer/renderSoftClipping.d.ts +5 -5
  415. package/esm/PileupRenderer/renderSoftClipping.js +1 -5
  416. package/esm/PileupRenderer/sortUtil.d.ts +2 -2
  417. package/esm/PileupRenderer/sortUtil.js +1 -4
  418. package/esm/PileupRenderer/types.d.ts +26 -0
  419. package/esm/PileupRenderer/types.js +1 -0
  420. package/esm/PileupRenderer/util.d.ts +2 -2
  421. package/esm/PileupRenderer/util.js +1 -3
  422. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  423. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +5 -7
  424. package/esm/SNPCoverageAdapter/configSchema.d.ts +0 -4
  425. package/esm/SNPCoverageAdapter/configSchema.js +1 -8
  426. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  427. package/esm/SNPCoverageAdapter/generateCoverageBins.js +24 -246
  428. package/esm/SNPCoverageAdapter/index.d.ts +1 -1
  429. package/esm/SNPCoverageAdapter/processDepth.d.ts +8 -0
  430. package/esm/SNPCoverageAdapter/processDepth.js +35 -0
  431. package/esm/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  432. package/esm/SNPCoverageAdapter/processMismatches.js +55 -0
  433. package/esm/SNPCoverageAdapter/processModifications.d.ts +10 -0
  434. package/esm/SNPCoverageAdapter/processModifications.js +46 -0
  435. package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  436. package/esm/SNPCoverageAdapter/processReferenceCpGs.js +60 -0
  437. package/esm/SNPCoverageAdapter/util.d.ts +10 -0
  438. package/esm/SNPCoverageAdapter/util.js +35 -0
  439. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +2 -18
  440. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +3 -289
  441. package/esm/SNPCoverageRenderer/configSchema.d.ts +3 -18
  442. package/esm/SNPCoverageRenderer/configSchema.js +4 -22
  443. package/esm/SNPCoverageRenderer/index.d.ts +1 -1
  444. package/esm/SNPCoverageRenderer/index.js +2 -2
  445. package/esm/SNPCoverageRenderer/makeImage.d.ts +2 -0
  446. package/esm/SNPCoverageRenderer/makeImage.js +267 -0
  447. package/esm/SNPCoverageRenderer/types.d.ts +19 -0
  448. package/esm/SNPCoverageRenderer/types.js +1 -0
  449. package/esm/index.d.ts +2 -2
  450. package/esm/index.js +10 -10
  451. package/esm/shared/afterAttach.d.ts +1 -1
  452. package/esm/shared/afterAttach.js +0 -2
  453. package/esm/shared/color.d.ts +1 -1
  454. package/esm/shared/color.js +0 -8
  455. package/esm/shared/components/BaseDisplayComponent.d.ts +3 -4
  456. package/esm/shared/components/BaseDisplayComponent.js +13 -16
  457. package/esm/shared/components/FilterByTagDialog.d.ts +2 -3
  458. package/esm/shared/components/FilterByTagDialog.js +44 -71
  459. package/esm/shared/fetchChains.d.ts +2 -2
  460. package/esm/shared/fetchChains.js +1 -2
  461. package/esm/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  462. package/esm/shared/getMaximumModificationAtEachPosition.js +1 -2
  463. package/esm/shared/getUniqueModifications.d.ts +5 -5
  464. package/esm/shared/getUniqueTags.d.ts +4 -4
  465. package/esm/shared/renderSvgUtil.d.ts +1 -2
  466. package/esm/shared/renderSvgUtil.js +3 -9
  467. package/esm/shared/util.d.ts +11 -1
  468. package/esm/shared/util.js +24 -0
  469. package/esm/util.d.ts +4 -4
  470. package/esm/util.js +3 -9
  471. package/package.json +6 -7
@@ -4,28 +4,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const cram_1 = require("@gmod/cram");
7
- const operators_1 = require("rxjs/operators");
8
- const rxjs_1 = require("rxjs");
9
- // jbrowse
10
7
  const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
11
8
  const util_1 = require("@jbrowse/core/util");
12
- const io_1 = require("@jbrowse/core/util/io");
13
- const rxjs_2 = require("@jbrowse/core/util/rxjs");
14
9
  const QuickLRU_1 = __importDefault(require("@jbrowse/core/util/QuickLRU"));
15
- // locals
10
+ const io_1 = require("@jbrowse/core/util/io");
11
+ const rxjs_1 = require("@jbrowse/core/util/rxjs");
12
+ const stopToken_1 = require("@jbrowse/core/util/stopToken");
13
+ const rxjs_2 = require("rxjs");
14
+ const operators_1 = require("rxjs/operators");
16
15
  const CramSlightlyLazyFeature_1 = __importDefault(require("./CramSlightlyLazyFeature"));
16
+ const util_2 = require("../shared/util");
17
17
  class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  this.samHeader = {};
21
- // used for avoiding re-creation new BamSlightlyLazyFeatures, keeping
22
- // mismatches in cache. at an average of 100kb-300kb, keeping even just 500
23
- // of these in memory is fairly intensive but can reduce recomputation on
24
- // these objects
25
21
  this.ultraLongFeatureCache = new QuickLRU_1.default({
26
22
  maxSize: 500,
27
23
  });
28
- // maps a seqId to original refname, passed specially to render args, to a seqid
29
24
  this.seqIdToOriginalRefName = [];
30
25
  }
31
26
  async configurePre() {
@@ -34,7 +29,9 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
34
29
  const pm = this.pluginManager;
35
30
  const cram = new cram_1.IndexedCramFile({
36
31
  cramFilehandle: (0, io_1.openLocation)(cramLocation, pm),
37
- index: new cram_1.CraiIndex({ filehandle: (0, io_1.openLocation)(craiLocation, pm) }),
32
+ index: new cram_1.CraiIndex({
33
+ filehandle: (0, io_1.openLocation)(craiLocation, pm),
34
+ }),
38
35
  seqFetch: (...args) => this.seqFetch(...args),
39
36
  checkSequenceMD5: false,
40
37
  });
@@ -65,13 +62,13 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
65
62
  return cram.cram.getHeaderText();
66
63
  }
67
64
  async seqFetch(seqId, start, end) {
68
- start -= 1; // convert from 1-based closed to interbase
65
+ start -= 1;
69
66
  const { sequenceAdapter } = await this.configure();
70
67
  const refName = this.refIdToOriginalName(seqId) || this.refIdToName(seqId);
71
68
  if (!refName) {
72
69
  throw new Error('unknown');
73
70
  }
74
- const seqChunks = await (0, rxjs_1.firstValueFrom)(sequenceAdapter
71
+ const seqChunks = await (0, rxjs_2.firstValueFrom)(sequenceAdapter
75
72
  .getFeatures({
76
73
  refName,
77
74
  start,
@@ -103,8 +100,6 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
103
100
  const conf = await this.configure();
104
101
  const { cram } = conf;
105
102
  const samHeader = await cram.cram.getSamHeader();
106
- // use the @SQ lines in the header to figure out the
107
- // mapping between ref ID numbers and names
108
103
  const idToName = [];
109
104
  const nameToId = {};
110
105
  samHeader
@@ -122,7 +117,10 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
122
117
  .map(rgLine => { var _a; return (_a = rgLine.data.find(item => item.tag === 'ID')) === null || _a === void 0 ? void 0 : _a.value; });
123
118
  const data = { idToName, nameToId, readGroups };
124
119
  this.samHeader = data;
125
- return { samHeader: data, ...conf };
120
+ return {
121
+ samHeader: data,
122
+ ...conf,
123
+ };
126
124
  });
127
125
  }
128
126
  async setup(opts) {
@@ -141,8 +139,6 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
141
139
  }
142
140
  return samHeader.idToName;
143
141
  }
144
- // use info from the SAM header if possible, but fall back to using
145
- // the ref seq order from when the browser's refseqs were loaded
146
142
  refNameToId(refName) {
147
143
  if (this.samHeader.nameToId) {
148
144
  return this.samHeader.nameToId[refName];
@@ -152,8 +148,6 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
152
148
  }
153
149
  return undefined;
154
150
  }
155
- // use info from the SAM header if possible, but fall back to using
156
- // the ref seq order from when the browser's refseqs were loaded
157
151
  refIdToName(refId) {
158
152
  var _a, _b;
159
153
  return ((_a = this.samHeader.idToName) === null || _a === void 0 ? void 0 : _a[refId]) || ((_b = this.seqIdToRefName) === null || _b === void 0 ? void 0 : _b[refId]);
@@ -162,9 +156,9 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
162
156
  return this.seqIdToOriginalRefName[refId];
163
157
  }
164
158
  getFeatures(region, opts) {
165
- const { signal, filterBy, statusCallback = () => { } } = opts || {};
159
+ const { stopToken, filterBy, statusCallback = () => { } } = opts || {};
166
160
  const { refName, start, end, originalRefName } = region;
167
- return (0, rxjs_2.ObservableCreate)(async (observer) => {
161
+ return (0, rxjs_1.ObservableCreate)(async (observer) => {
168
162
  const { cram, samHeader } = await this.setup(opts);
169
163
  const refId = this.refNameToId(refName);
170
164
  if (refId === undefined) {
@@ -176,25 +170,19 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
176
170
  this.seqIdToOriginalRefName[refId] = originalRefName;
177
171
  }
178
172
  const records = await (0, util_1.updateStatus)('Downloading alignments', statusCallback, () => cram.getRecordsForRange(refId, start, end));
179
- (0, util_1.checkAbortSignal)(signal);
173
+ (0, stopToken_1.checkStopToken)(stopToken);
180
174
  await (0, util_1.updateStatus)('Processing alignments', statusCallback, () => {
181
175
  var _a;
182
176
  const { flagInclude = 0, flagExclude = 0, tagFilter, readName, } = filterBy || {};
183
177
  for (const record of records) {
184
- const flags = record.flags;
185
- if ((flags & flagInclude) !== flagInclude && !(flags & flagExclude)) {
178
+ if ((0, util_2.filterReadFlag)(record.flags, flagInclude, flagExclude)) {
186
179
  continue;
187
180
  }
188
- if (tagFilter) {
189
- const readVal = tagFilter.tag === 'RG'
181
+ if (tagFilter &&
182
+ (0, util_2.filterTagValue)(tagFilter.tag === 'RG'
190
183
  ? (_a = samHeader.readGroups) === null || _a === void 0 ? void 0 : _a[record.readGroupId]
191
- : record.tags[tagFilter.tag];
192
- const filterVal = tagFilter.value;
193
- if (filterVal === '*'
194
- ? readVal === undefined
195
- : `${readVal}` !== `${filterVal}`) {
196
- continue;
197
- }
184
+ : record.tags[tagFilter.tag], tagFilter.value)) {
185
+ continue;
198
186
  }
199
187
  if (readName && record.readName !== readName) {
200
188
  continue;
@@ -211,13 +199,12 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
211
199
  }
212
200
  observer.complete();
213
201
  });
214
- }, signal);
202
+ }, stopToken);
215
203
  }
216
- freeResources( /* { region } */) { }
204
+ freeResources() { }
217
205
  cramRecordToFeature(record) {
218
206
  return new CramSlightlyLazyFeature_1.default(record, this);
219
207
  }
220
- // we return the configured fetchSizeLimit, and the bytes for the region
221
208
  async getMultiRegionFeatureDensityStats(regions, opts) {
222
209
  const bytes = await this.bytesForRegions(regions, opts);
223
210
  const fetchSizeLimit = this.getConf('fetchSizeLimit');
@@ -226,11 +213,6 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
226
213
  fetchSizeLimit,
227
214
  };
228
215
  }
229
- /**
230
- * get the approximate number of bytes queried from the file for the given
231
- * query regions
232
- * @param regions - list of query regions
233
- */
234
216
  async bytesForRegions(regions, _opts) {
235
217
  const { cram } = await this.configure();
236
218
  const blockResults = await Promise.all(regions.map(region => {
@@ -1,6 +1,6 @@
1
- import { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util';
2
- import { CramRecord } from '@gmod/cram';
3
- import CramAdapter from './CramAdapter';
1
+ import type CramAdapter from './CramAdapter';
2
+ import type { CramRecord } from '@gmod/cram';
3
+ import type { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util';
4
4
  export default class CramSlightlyLazyFeature implements Feature {
5
5
  private record;
6
6
  private _store;
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const util_1 = require("./util");
4
4
  const util_2 = require("../shared/util");
5
5
  class CramSlightlyLazyFeature {
6
- // uses parameter properties to automatically create fields on the class
7
- // https://www.typescriptlang.org/docs/handbook/classes.html#parameter-properties
8
6
  constructor(record, _store) {
9
7
  this.record = record;
10
8
  this._store = _store;
@@ -68,7 +66,6 @@ class CramSlightlyLazyFeature {
68
66
  get seq() {
69
67
  return this.record.getReadBases();
70
68
  }
71
- // generate a CIGAR, based on code from jkbonfield
72
69
  get CIGAR() {
73
70
  return (0, util_1.readFeaturesToCIGAR)(this.record.readFeatures, this.record.alignmentStart, this.record.readLength, this.record._refRegion);
74
71
  }
@@ -92,18 +89,6 @@ class CramSlightlyLazyFeature {
92
89
  }
93
90
  get mismatches() {
94
91
  return (0, util_1.readFeaturesToMismatches)(this.record.readFeatures, this.start, this.qualRaw);
95
- // this commented code can try to resolve MD tags, xref https://github.com/galaxyproject/tools-iuc/issues/6523#issuecomment-2462927211 but put on hold
96
- // return this.tags.MD && this.seq
97
- // ? mismatches.concat(
98
- // mdToMismatches(
99
- // this.tags.MD,
100
- // parseCigar(this.CIGAR),
101
- // mismatches,
102
- // this.seq,
103
- // this.qualRaw,
104
- // ),
105
- // )
106
- // : mismatches
107
92
  }
108
93
  get fields() {
109
94
  return {
@@ -128,9 +113,7 @@ class CramSlightlyLazyFeature {
128
113
  toJSON() {
129
114
  return {
130
115
  ...this.fields,
131
- // lazy
132
116
  CIGAR: this.CIGAR,
133
- // lazy
134
117
  qual: this.qual,
135
118
  };
136
119
  }
@@ -1,7 +1,7 @@
1
- import { GenericFilehandle } from 'generic-filehandle';
2
- import { Observable } from 'rxjs';
3
- import SimpleFeature from '@jbrowse/core/util/simpleFeature';
4
1
  import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import SimpleFeature from '@jbrowse/core/util/simpleFeature';
3
+ import { Observable } from 'rxjs';
4
+ import type { GenericFilehandle } from 'generic-filehandle2';
5
5
  export declare function parseSmallFasta(text: string): {
6
6
  id: string;
7
7
  description: string;
@@ -5,11 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SequenceAdapter = exports.FetchableSmallFasta = void 0;
7
7
  exports.parseSmallFasta = parseSmallFasta;
8
- const rxjs_1 = require("rxjs");
9
- const simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
10
- const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
11
8
  const configuration_1 = require("@jbrowse/core/configuration");
12
- // setup for Cram Adapter Testing
9
+ const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
10
+ const simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
11
+ const rxjs_1 = require("rxjs");
13
12
  function parseSmallFasta(text) {
14
13
  return text
15
14
  .split('>')
@@ -29,7 +28,8 @@ function parseSmallFasta(text) {
29
28
  class FetchableSmallFasta {
30
29
  constructor(filehandle) {
31
30
  this.data = filehandle.readFile().then(buffer => {
32
- const text = buffer.toString('utf8');
31
+ const decoder = new TextDecoder('utf8');
32
+ const text = decoder.decode(buffer);
33
33
  return parseSmallFasta(text);
34
34
  });
35
35
  }
@@ -81,6 +81,6 @@ class SequenceAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
81
81
  return { unsubscribe: () => { } };
82
82
  });
83
83
  }
84
- freeResources( /* { region } */) { }
84
+ freeResources() { }
85
85
  }
86
86
  exports.SequenceAdapter = SequenceAdapter;
@@ -1,15 +1,9 @@
1
1
  declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot fetchSizeLimit
4
- */
5
2
  fetchSizeLimit: {
6
3
  type: string;
7
4
  description: string;
8
5
  defaultValue: number;
9
6
  };
10
- /**
11
- * #slot cramLocation
12
- */
13
7
  cramLocation: {
14
8
  type: string;
15
9
  defaultValue: {
@@ -17,9 +11,6 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
17
11
  locationType: string;
18
12
  };
19
13
  };
20
- /**
21
- * #slot craiLocation
22
- */
23
14
  craiLocation: {
24
15
  type: string;
25
16
  defaultValue: {
@@ -27,11 +18,6 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
27
18
  locationType: string;
28
19
  };
29
20
  };
30
- /**
31
- * #slot sequenceAdapter
32
- * generally refers to the reference genome assembly's sequence adapter
33
- * currently needs to be manually added
34
- */
35
21
  sequenceAdapter: {
36
22
  type: string;
37
23
  description: string;
@@ -1,23 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const configuration_1 = require("@jbrowse/core/configuration");
4
- /**
5
- * #config CramAdapter
6
- * used to configure CRAM adapter
7
- */
8
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ function x() { }
9
5
  const configSchema = (0, configuration_1.ConfigurationSchema)('CramAdapter', {
10
- /**
11
- * #slot fetchSizeLimit
12
- */
13
6
  fetchSizeLimit: {
14
7
  type: 'number',
15
8
  description: 'size in bytes over which to display a warning to the user that too much data will be fetched',
16
9
  defaultValue: 3000000,
17
10
  },
18
- /**
19
- * #slot cramLocation
20
- */
21
11
  cramLocation: {
22
12
  type: 'fileLocation',
23
13
  defaultValue: {
@@ -25,9 +15,6 @@ const configSchema = (0, configuration_1.ConfigurationSchema)('CramAdapter', {
25
15
  locationType: 'UriLocation',
26
16
  },
27
17
  },
28
- /**
29
- * #slot craiLocation
30
- */
31
18
  craiLocation: {
32
19
  type: 'fileLocation',
33
20
  defaultValue: {
@@ -35,11 +22,6 @@ const configSchema = (0, configuration_1.ConfigurationSchema)('CramAdapter', {
35
22
  locationType: 'UriLocation',
36
23
  },
37
24
  },
38
- /**
39
- * #slot sequenceAdapter
40
- * generally refers to the reference genome assembly's sequence adapter
41
- * currently needs to be manually added
42
- */
43
25
  sequenceAdapter: {
44
26
  type: 'frozen',
45
27
  description: 'sequence data adapter',
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function CramAdapterF(pluginManager: PluginManager): void;
@@ -15,20 +15,29 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
29
39
  exports.default = CramAdapterF;
30
40
  const AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
31
- // locals
32
41
  const configSchema_1 = __importDefault(require("./configSchema"));
33
42
  function CramAdapterF(pluginManager) {
34
43
  pluginManager.addAdapterType(() => {
@@ -1,5 +1,5 @@
1
- import { CramRecord } from '@gmod/cram';
2
- import { Mismatch } from '../shared/types';
1
+ import type { Mismatch } from '../shared/types';
2
+ import type { CramRecord } from '@gmod/cram';
3
3
  type ReadFeatures = CramRecord['readFeatures'];
4
4
  export declare function readFeaturesToMismatches(readFeatures: ReadFeatures, start: number, qual?: number[] | null): Mismatch[];
5
5
  export declare function readFeaturesToCIGAR(readFeatures: ReadFeatures, alignmentStart: number, readLen: number, refRegion?: {
@@ -26,7 +26,6 @@ function readFeaturesToMismatches(readFeatures, start, qual) {
26
26
  }
27
27
  refPos = p - 1 - start;
28
28
  if (code === 'X') {
29
- // substitution
30
29
  mismatches[j++] = {
31
30
  start: refPos,
32
31
  length: 1,
@@ -37,7 +36,6 @@ function readFeaturesToMismatches(readFeatures, start, qual) {
37
36
  };
38
37
  }
39
38
  else if (code === 'I') {
40
- // insertion
41
39
  mismatches[j++] = {
42
40
  start: refPos,
43
41
  type: 'insertion',
@@ -46,7 +44,6 @@ function readFeaturesToMismatches(readFeatures, start, qual) {
46
44
  };
47
45
  }
48
46
  else if (code === 'N') {
49
- // reference skip
50
47
  mismatches[j++] = {
51
48
  type: 'skip',
52
49
  length: data,
@@ -55,7 +52,6 @@ function readFeaturesToMismatches(readFeatures, start, qual) {
55
52
  };
56
53
  }
57
54
  else if (code === 'S') {
58
- // soft clip
59
55
  const len = data.length;
60
56
  mismatches[j++] = {
61
57
  start: refPos,
@@ -66,10 +62,8 @@ function readFeaturesToMismatches(readFeatures, start, qual) {
66
62
  };
67
63
  }
68
64
  else if (code === 'P') {
69
- // padding
70
65
  }
71
66
  else if (code === 'H') {
72
- // hard clip
73
67
  const len = data;
74
68
  mismatches[j++] = {
75
69
  start: refPos,
@@ -80,7 +74,6 @@ function readFeaturesToMismatches(readFeatures, start, qual) {
80
74
  };
81
75
  }
82
76
  else if (code === 'D') {
83
- // deletion
84
77
  mismatches[j++] = {
85
78
  type: 'deletion',
86
79
  length: data,
@@ -89,21 +82,15 @@ function readFeaturesToMismatches(readFeatures, start, qual) {
89
82
  };
90
83
  }
91
84
  else if (code === 'b') {
92
- // stretch of bases
93
85
  }
94
86
  else if (code === 'q') {
95
- // stretch of qual scores
96
87
  }
97
88
  else if (code === 'B') {
98
- // a pair of [base, qual]
99
89
  }
100
90
  else if (code === 'i') {
101
- // single-base insertion, we collect these if there are multiple in a row
102
- // into a single insertion entry
103
91
  insLen++;
104
92
  }
105
93
  else if (code === 'Q') {
106
- // single quality value
107
94
  }
108
95
  }
109
96
  if (sublen && insLen > 0) {
@@ -125,7 +112,6 @@ function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
125
112
  if (!refRegion) {
126
113
  return '';
127
114
  }
128
- // not sure I should access these, but...
129
115
  const ref = refRegion.seq;
130
116
  const refStart = refRegion.start;
131
117
  let lastPos = alignmentStart;
@@ -149,7 +135,6 @@ function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
149
135
  oplen += sublen;
150
136
  }
151
137
  if (code === 'b') {
152
- // An array of bases stored verbatim
153
138
  const ret = data.split(',');
154
139
  const added = String.fromCharCode(...ret);
155
140
  seq += added;
@@ -157,19 +142,16 @@ function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
157
142
  oplen += added.length;
158
143
  }
159
144
  else if (code === 'B') {
160
- // Single base (+ qual score)
161
145
  seq += sub;
162
146
  lastPos++;
163
147
  oplen++;
164
148
  }
165
149
  else if (code === 'X') {
166
- // Substitution
167
150
  seq += sub;
168
151
  lastPos++;
169
152
  oplen++;
170
153
  }
171
154
  else if (code === 'D' || code === 'N') {
172
- // Deletion or Ref Skip
173
155
  lastPos += data;
174
156
  if (oplen) {
175
157
  cigar += `${oplen}${op}`;
@@ -178,7 +160,6 @@ function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
178
160
  oplen = 0;
179
161
  }
180
162
  else if (code === 'I' || code === 'S') {
181
- // Insertion or soft-clip
182
163
  seq += data;
183
164
  if (oplen) {
184
165
  cigar += `${oplen}${op}`;
@@ -187,8 +168,6 @@ function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
187
168
  oplen = 0;
188
169
  }
189
170
  else if (code === 'i') {
190
- // Single base insertion
191
- // seq += data
192
171
  if (oplen) {
193
172
  cigar += `${oplen}${op}`;
194
173
  }
@@ -197,20 +176,18 @@ function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
197
176
  oplen = 0;
198
177
  }
199
178
  else if (code === 'P') {
200
- // Padding
201
179
  if (oplen) {
202
180
  cigar += `${oplen}${op}`;
203
181
  }
204
182
  cigar += `${data}P`;
205
183
  }
206
184
  else if (code === 'H') {
207
- // Hard clip
208
185
  if (oplen) {
209
186
  cigar += `${oplen}${op}`;
210
187
  }
211
188
  cigar += `${data}H`;
212
189
  oplen = 0;
213
- } // else q or Q
190
+ }
214
191
  }
215
192
  }
216
193
  else {
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function GuessAlignmentsTypesF(pluginManager: PluginManager): void;
@@ -1,48 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = GuessAlignmentsTypesF;
4
+ const util_1 = require("@jbrowse/core/util");
4
5
  const tracks_1 = require("@jbrowse/core/util/tracks");
5
6
  function GuessAlignmentsTypesF(pluginManager) {
6
7
  pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
7
8
  return (file, index, adapterHint) => {
8
- const regexGuess = /\.cram$/i;
9
- const adapterName = 'CramAdapter';
10
- const fileName = (0, tracks_1.getFileName)(file);
11
- const obj = {
12
- type: adapterName,
13
- cramLocation: file,
14
- craiLocation: index || (0, tracks_1.makeIndex)(file, '.crai'),
15
- };
16
- if (regexGuess.test(fileName) && !adapterHint) {
17
- return obj;
18
- }
19
- if (adapterHint === adapterName) {
20
- return obj;
21
- }
22
- return adapterGuesser(file, index, adapterHint);
23
- };
24
- });
25
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
26
- return (file, index, adapterHint) => {
27
- const regexGuess = /\.bam$/i;
28
- const adapterName = 'BamAdapter';
29
9
  const fileName = (0, tracks_1.getFileName)(file);
30
10
  const indexName = index && (0, tracks_1.getFileName)(index);
31
- const obj = {
32
- type: adapterName,
33
- bamLocation: file,
34
- index: {
35
- location: index || (0, tracks_1.makeIndex)(file, '.bai'),
36
- indexType: (0, tracks_1.makeIndexType)(indexName, 'CSI', 'BAI'),
37
- },
38
- };
39
- if (regexGuess.test(fileName) && !adapterHint) {
40
- return obj;
11
+ if ((0, util_1.testAdapter)(fileName, /\.bam$/i, adapterHint, 'BamAdapter')) {
12
+ return {
13
+ type: 'BamAdapter',
14
+ bamLocation: file,
15
+ index: {
16
+ location: index || (0, tracks_1.makeIndex)(file, '.bai'),
17
+ indexType: (0, tracks_1.makeIndexType)(indexName, 'CSI', 'BAI'),
18
+ },
19
+ };
20
+ }
21
+ else if ((0, util_1.testAdapter)(fileName, /\.cram$/i, adapterHint, 'CramAdapter')) {
22
+ return {
23
+ type: 'CramAdapter',
24
+ cramLocation: file,
25
+ craiLocation: index || (0, tracks_1.makeIndex)(file, '.crai'),
26
+ };
41
27
  }
42
- if (adapterHint === adapterName) {
43
- return obj;
28
+ else {
29
+ return adapterGuesser(file, index, adapterHint);
44
30
  }
45
- return adapterGuesser(file, index, adapterHint);
46
31
  };
47
32
  });
48
33
  pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
@@ -1,6 +1,6 @@
1
- import { BamFile } from '@gmod/bam';
2
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
1
  import BamAdapter from '../BamAdapter/BamAdapter';
2
+ import type { BamFile } from '@gmod/bam';
3
+ import type { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
4
4
  export default class HtsgetBamAdapter extends BamAdapter {
5
5
  protected configurePre(): Promise<{
6
6
  bam: BamFile;
@@ -1,23 +1,14 @@
1
1
  declare const HtsgetBamAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot
4
- */
5
2
  htsgetBase: {
6
3
  type: string;
7
4
  description: string;
8
5
  defaultValue: string;
9
6
  };
10
- /**
11
- * #slot
12
- */
13
7
  htsgetTrackId: {
14
8
  type: string;
15
9
  description: string;
16
10
  defaultValue: string;
17
11
  };
18
- /**
19
- * #slot
20
- */
21
12
  sequenceAdapter: {
22
13
  type: string;
23
14
  description: string;