@jbrowse/plugin-alignments 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -3
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +25 -24
  3. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  4. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  5. package/dist/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  6. package/dist/AlignmentsFeatureDetail/Flags.js +8 -10
  7. package/dist/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  8. package/dist/AlignmentsFeatureDetail/Formatter.js +11 -39
  9. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +4 -7
  10. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +46 -54
  11. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +4 -7
  12. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +58 -61
  13. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +3 -4
  14. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +4 -5
  15. package/dist/AlignmentsFeatureDetail/PairLink.d.ts +2 -3
  16. package/dist/AlignmentsFeatureDetail/PairLink.js +3 -7
  17. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +3 -4
  18. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +6 -9
  19. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +2 -3
  20. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +21 -31
  21. package/dist/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  22. package/dist/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
  23. package/dist/AlignmentsFeatureDetail/index.d.ts +1 -1
  24. package/dist/AlignmentsFeatureDetail/index.js +17 -7
  25. package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  26. package/dist/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
  27. package/dist/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  28. package/dist/AlignmentsFeatureDetail/tagInfo.js +1 -1
  29. package/dist/AlignmentsFeatureDetail/util.d.ts +1 -1
  30. package/dist/AlignmentsTrack/configSchemaF.d.ts +1 -1
  31. package/dist/AlignmentsTrack/configSchemaF.js +1 -8
  32. package/dist/AlignmentsTrack/index.d.ts +1 -1
  33. package/dist/AlignmentsTrack/index.js +0 -3
  34. package/dist/BamAdapter/BamAdapter.d.ts +6 -5
  35. package/dist/BamAdapter/BamAdapter.js +21 -39
  36. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  37. package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  38. package/dist/BamAdapter/configSchema.d.ts +0 -17
  39. package/dist/BamAdapter/configSchema.js +1 -22
  40. package/dist/BamAdapter/index.d.ts +1 -1
  41. package/dist/BamAdapter/index.js +17 -7
  42. package/dist/CramAdapter/CramAdapter.d.ts +6 -9
  43. package/dist/CramAdapter/CramAdapter.js +25 -43
  44. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  45. package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  46. package/dist/CramAdapter/CramTestAdapters.d.ts +3 -3
  47. package/dist/CramAdapter/CramTestAdapters.js +6 -6
  48. package/dist/CramAdapter/configSchema.d.ts +0 -14
  49. package/dist/CramAdapter/configSchema.js +1 -19
  50. package/dist/CramAdapter/index.d.ts +1 -1
  51. package/dist/CramAdapter/index.js +17 -8
  52. package/dist/CramAdapter/util.d.ts +2 -2
  53. package/dist/CramAdapter/util.js +1 -24
  54. package/dist/GuessAlignmentsTypes/index.d.ts +1 -1
  55. package/dist/GuessAlignmentsTypes/index.js +19 -34
  56. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  57. package/dist/HtsgetBamAdapter/configSchema.d.ts +0 -9
  58. package/dist/HtsgetBamAdapter/configSchema.js +1 -14
  59. package/dist/HtsgetBamAdapter/index.d.ts +1 -1
  60. package/dist/HtsgetBamAdapter/index.js +18 -8
  61. package/dist/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
  62. package/dist/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
  63. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -3
  64. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -18
  65. package/dist/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
  66. package/dist/LinearAlignmentsDisplay/configSchema.js +3 -20
  67. package/dist/LinearAlignmentsDisplay/index.d.ts +1 -1
  68. package/dist/LinearAlignmentsDisplay/index.js +1 -2
  69. package/dist/LinearAlignmentsDisplay/model.d.ts +7 -77
  70. package/dist/LinearAlignmentsDisplay/model.js +10 -85
  71. package/dist/LinearAlignmentsDisplay/util.d.ts +1 -1
  72. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +52 -164
  73. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +71 -145
  74. package/dist/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  75. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +12 -41
  76. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +3 -4
  77. package/dist/LinearPileupDisplay/components/GroupByDialog.js +106 -92
  78. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -8
  79. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +3 -7
  80. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  81. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +15 -44
  82. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  83. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +12 -40
  84. package/dist/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  85. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +17 -46
  86. package/dist/LinearPileupDisplay/configSchema.d.ts +13 -16
  87. package/dist/LinearPileupDisplay/configSchema.js +12 -30
  88. package/dist/LinearPileupDisplay/index.d.ts +1 -1
  89. package/dist/LinearPileupDisplay/index.js +2 -2
  90. package/dist/LinearPileupDisplay/model.d.ts +123 -111
  91. package/dist/LinearPileupDisplay/model.js +29 -109
  92. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -3
  93. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +6 -33
  94. package/dist/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  95. package/dist/LinearReadArcsDisplay/configSchema.js +8 -31
  96. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  97. package/dist/LinearReadArcsDisplay/drawFeats.js +1 -9
  98. package/dist/LinearReadArcsDisplay/index.d.ts +1 -1
  99. package/dist/LinearReadArcsDisplay/index.js +18 -9
  100. package/dist/LinearReadArcsDisplay/model.d.ts +16 -94
  101. package/dist/LinearReadArcsDisplay/model.js +34 -111
  102. package/dist/LinearReadArcsDisplay/util.d.ts +1 -1
  103. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -3
  104. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +6 -33
  105. package/dist/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  106. package/dist/LinearReadCloudDisplay/configSchema.js +3 -28
  107. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  108. package/dist/LinearReadCloudDisplay/drawFeats.js +2 -2
  109. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  110. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  111. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  112. package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -3
  113. package/dist/LinearReadCloudDisplay/index.d.ts +1 -1
  114. package/dist/LinearReadCloudDisplay/index.js +18 -9
  115. package/dist/LinearReadCloudDisplay/model.d.ts +14 -56
  116. package/dist/LinearReadCloudDisplay/model.js +34 -75
  117. package/dist/LinearReadCloudDisplay/util.js +0 -1
  118. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -3
  119. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +16 -55
  120. package/dist/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  121. package/dist/LinearSNPCoverageDisplay/configSchema.js +16 -32
  122. package/dist/LinearSNPCoverageDisplay/index.d.ts +1 -1
  123. package/dist/LinearSNPCoverageDisplay/index.js +1 -2
  124. package/dist/LinearSNPCoverageDisplay/model.d.ts +13 -54
  125. package/dist/LinearSNPCoverageDisplay/model.js +69 -159
  126. package/dist/MismatchParser/cigarToMismatches.d.ts +2 -3
  127. package/dist/MismatchParser/cigarToMismatches.js +4 -7
  128. package/dist/MismatchParser/getNextRefPos.js +0 -2
  129. package/dist/MismatchParser/index.d.ts +3 -4
  130. package/dist/MismatchParser/index.js +1 -9
  131. package/dist/MismatchParser/mdToMismatches.d.ts +2 -3
  132. package/dist/MismatchParser/mdToMismatches.js +0 -6
  133. package/dist/ModificationParser/index.d.ts +1 -1
  134. package/dist/ModificationParser/index.js +1 -18
  135. package/dist/PileupRPC/base.d.ts +2 -2
  136. package/dist/PileupRPC/base.js +0 -1
  137. package/dist/PileupRPC/index.d.ts +1 -1
  138. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  139. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  140. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  141. package/dist/PileupRPC/methods/GetReducedFeatures.js +3 -5
  142. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  143. package/dist/PileupRPC/methods/GetVisibleModifications.js +1 -1
  144. package/dist/PileupRPC/util.d.ts +1 -1
  145. package/dist/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  146. package/dist/PileupRenderer/PileupLayoutSession.js +2 -5
  147. package/dist/PileupRenderer/PileupRenderer.d.ts +14 -24
  148. package/dist/PileupRenderer/PileupRenderer.js +28 -23
  149. package/dist/PileupRenderer/colorBy.d.ts +2 -2
  150. package/dist/PileupRenderer/colorBy.js +0 -6
  151. package/dist/PileupRenderer/components/PileupRendering.d.ts +2 -3
  152. package/dist/PileupRenderer/components/PileupRendering.js +15 -43
  153. package/dist/PileupRenderer/configSchema.d.ts +5 -31
  154. package/dist/PileupRenderer/configSchema.js +6 -35
  155. package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  156. package/dist/PileupRenderer/getAlignmentShapeColor.js +1 -6
  157. package/dist/PileupRenderer/index.d.ts +1 -1
  158. package/dist/PileupRenderer/index.js +1 -1
  159. package/dist/PileupRenderer/layoutFeature.d.ts +2 -2
  160. package/dist/PileupRenderer/layoutFeature.js +0 -1
  161. package/dist/PileupRenderer/layoutFeatures.d.ts +5 -2
  162. package/dist/PileupRenderer/layoutFeatures.js +6 -4
  163. package/dist/PileupRenderer/makeImageData.d.ts +3 -4
  164. package/dist/PileupRenderer/makeImageData.js +10 -2
  165. package/dist/PileupRenderer/renderAlignment.d.ts +3 -3
  166. package/dist/PileupRenderer/renderAlignment.js +3 -5
  167. package/dist/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  168. package/dist/PileupRenderer/renderAlignmentShape.js +1 -1
  169. package/dist/PileupRenderer/renderMethylation.d.ts +4 -4
  170. package/dist/PileupRenderer/renderMethylation.js +0 -4
  171. package/dist/PileupRenderer/renderMismatches.d.ts +5 -4
  172. package/dist/PileupRenderer/renderMismatches.js +19 -25
  173. package/dist/PileupRenderer/renderModifications.d.ts +3 -3
  174. package/dist/PileupRenderer/renderModifications.js +1 -3
  175. package/dist/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  176. package/dist/PileupRenderer/renderPerBaseLettering.js +0 -1
  177. package/dist/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  178. package/dist/PileupRenderer/renderPerBaseQuality.js +2 -2
  179. package/dist/PileupRenderer/renderSoftClipping.d.ts +5 -5
  180. package/dist/PileupRenderer/renderSoftClipping.js +0 -4
  181. package/dist/PileupRenderer/sortUtil.d.ts +2 -2
  182. package/dist/PileupRenderer/sortUtil.js +1 -4
  183. package/dist/PileupRenderer/types.d.ts +26 -0
  184. package/dist/PileupRenderer/types.js +2 -0
  185. package/dist/PileupRenderer/util.d.ts +2 -2
  186. package/dist/PileupRenderer/util.js +1 -3
  187. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  188. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +4 -6
  189. package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -4
  190. package/dist/SNPCoverageAdapter/configSchema.js +1 -8
  191. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  192. package/dist/SNPCoverageAdapter/generateCoverageBins.js +25 -247
  193. package/dist/SNPCoverageAdapter/index.d.ts +1 -1
  194. package/dist/SNPCoverageAdapter/index.js +17 -7
  195. package/dist/SNPCoverageAdapter/processDepth.d.ts +8 -0
  196. package/dist/SNPCoverageAdapter/processDepth.js +38 -0
  197. package/dist/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  198. package/dist/SNPCoverageAdapter/processMismatches.js +58 -0
  199. package/dist/SNPCoverageAdapter/processModifications.d.ts +10 -0
  200. package/dist/SNPCoverageAdapter/processModifications.js +49 -0
  201. package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  202. package/dist/SNPCoverageAdapter/processReferenceCpGs.js +63 -0
  203. package/dist/SNPCoverageAdapter/util.d.ts +10 -0
  204. package/dist/SNPCoverageAdapter/util.js +41 -0
  205. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +2 -18
  206. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +35 -288
  207. package/dist/SNPCoverageRenderer/configSchema.d.ts +3 -18
  208. package/dist/SNPCoverageRenderer/configSchema.js +4 -22
  209. package/dist/SNPCoverageRenderer/index.d.ts +1 -1
  210. package/dist/SNPCoverageRenderer/index.js +2 -2
  211. package/dist/SNPCoverageRenderer/makeImage.d.ts +2 -0
  212. package/dist/SNPCoverageRenderer/makeImage.js +270 -0
  213. package/dist/SNPCoverageRenderer/types.d.ts +19 -0
  214. package/dist/SNPCoverageRenderer/types.js +2 -0
  215. package/dist/index.d.ts +2 -2
  216. package/dist/index.js +29 -19
  217. package/dist/shared/afterAttach.d.ts +1 -1
  218. package/dist/shared/afterAttach.js +0 -2
  219. package/dist/shared/color.d.ts +1 -1
  220. package/dist/shared/color.js +0 -8
  221. package/dist/shared/components/BaseDisplayComponent.d.ts +3 -4
  222. package/dist/shared/components/BaseDisplayComponent.js +13 -19
  223. package/dist/shared/components/FilterByTagDialog.d.ts +2 -3
  224. package/dist/shared/components/FilterByTagDialog.js +44 -94
  225. package/dist/shared/fetchChains.d.ts +2 -2
  226. package/dist/shared/fetchChains.js +1 -2
  227. package/dist/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  228. package/dist/shared/getMaximumModificationAtEachPosition.js +1 -2
  229. package/dist/shared/getUniqueModifications.d.ts +5 -5
  230. package/dist/shared/getUniqueTags.d.ts +4 -4
  231. package/dist/shared/renderSvgUtil.d.ts +1 -2
  232. package/dist/shared/renderSvgUtil.js +20 -19
  233. package/dist/shared/util.d.ts +11 -1
  234. package/dist/shared/util.js +27 -1
  235. package/dist/util.d.ts +4 -4
  236. package/dist/util.js +3 -9
  237. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -3
  238. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +8 -17
  239. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
  240. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
  241. package/esm/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  242. package/esm/AlignmentsFeatureDetail/Flags.js +8 -10
  243. package/esm/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  244. package/esm/AlignmentsFeatureDetail/Formatter.js +11 -16
  245. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +4 -7
  246. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +30 -48
  247. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +4 -7
  248. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +41 -54
  249. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +3 -4
  250. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +4 -5
  251. package/esm/AlignmentsFeatureDetail/PairLink.d.ts +2 -3
  252. package/esm/AlignmentsFeatureDetail/PairLink.js +3 -4
  253. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +3 -4
  254. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +6 -9
  255. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +2 -3
  256. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +22 -29
  257. package/esm/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
  258. package/esm/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
  259. package/esm/AlignmentsFeatureDetail/index.d.ts +1 -1
  260. package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
  261. package/esm/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
  262. package/esm/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
  263. package/esm/AlignmentsFeatureDetail/tagInfo.js +1 -1
  264. package/esm/AlignmentsFeatureDetail/util.d.ts +1 -1
  265. package/esm/AlignmentsTrack/configSchemaF.d.ts +1 -1
  266. package/esm/AlignmentsTrack/configSchemaF.js +1 -8
  267. package/esm/AlignmentsTrack/index.d.ts +1 -1
  268. package/esm/AlignmentsTrack/index.js +0 -3
  269. package/esm/BamAdapter/BamAdapter.d.ts +6 -5
  270. package/esm/BamAdapter/BamAdapter.js +19 -37
  271. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
  272. package/esm/BamAdapter/BamSlightlyLazyFeature.js +0 -3
  273. package/esm/BamAdapter/configSchema.d.ts +0 -17
  274. package/esm/BamAdapter/configSchema.js +1 -22
  275. package/esm/BamAdapter/index.d.ts +1 -1
  276. package/esm/CramAdapter/CramAdapter.d.ts +6 -9
  277. package/esm/CramAdapter/CramAdapter.js +24 -42
  278. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
  279. package/esm/CramAdapter/CramSlightlyLazyFeature.js +0 -17
  280. package/esm/CramAdapter/CramTestAdapters.d.ts +3 -3
  281. package/esm/CramAdapter/CramTestAdapters.js +6 -6
  282. package/esm/CramAdapter/configSchema.d.ts +0 -14
  283. package/esm/CramAdapter/configSchema.js +1 -19
  284. package/esm/CramAdapter/index.d.ts +1 -1
  285. package/esm/CramAdapter/index.js +0 -1
  286. package/esm/CramAdapter/util.d.ts +2 -2
  287. package/esm/CramAdapter/util.js +1 -24
  288. package/esm/GuessAlignmentsTypes/index.d.ts +1 -1
  289. package/esm/GuessAlignmentsTypes/index.js +20 -35
  290. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
  291. package/esm/HtsgetBamAdapter/configSchema.d.ts +0 -9
  292. package/esm/HtsgetBamAdapter/configSchema.js +1 -14
  293. package/esm/HtsgetBamAdapter/index.d.ts +1 -1
  294. package/esm/HtsgetBamAdapter/index.js +1 -1
  295. package/esm/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
  296. package/esm/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
  297. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -3
  298. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -15
  299. package/esm/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
  300. package/esm/LinearAlignmentsDisplay/configSchema.js +3 -20
  301. package/esm/LinearAlignmentsDisplay/index.d.ts +1 -1
  302. package/esm/LinearAlignmentsDisplay/index.js +1 -2
  303. package/esm/LinearAlignmentsDisplay/model.d.ts +7 -77
  304. package/esm/LinearAlignmentsDisplay/model.js +11 -86
  305. package/esm/LinearAlignmentsDisplay/util.d.ts +1 -1
  306. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +52 -164
  307. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +56 -140
  308. package/esm/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  309. package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +12 -18
  310. package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +3 -4
  311. package/esm/LinearPileupDisplay/components/GroupByDialog.js +106 -69
  312. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -8
  313. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +3 -4
  314. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  315. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +15 -21
  316. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  317. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +12 -17
  318. package/esm/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  319. package/esm/LinearPileupDisplay/components/SortByTagDialog.js +17 -23
  320. package/esm/LinearPileupDisplay/configSchema.d.ts +13 -16
  321. package/esm/LinearPileupDisplay/configSchema.js +12 -30
  322. package/esm/LinearPileupDisplay/index.d.ts +1 -1
  323. package/esm/LinearPileupDisplay/index.js +2 -2
  324. package/esm/LinearPileupDisplay/model.d.ts +123 -111
  325. package/esm/LinearPileupDisplay/model.js +13 -103
  326. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -3
  327. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +6 -10
  328. package/esm/LinearReadArcsDisplay/configSchema.d.ts +12 -20
  329. package/esm/LinearReadArcsDisplay/configSchema.js +8 -31
  330. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
  331. package/esm/LinearReadArcsDisplay/drawFeats.js +1 -9
  332. package/esm/LinearReadArcsDisplay/index.d.ts +1 -1
  333. package/esm/LinearReadArcsDisplay/index.js +1 -2
  334. package/esm/LinearReadArcsDisplay/model.d.ts +16 -94
  335. package/esm/LinearReadArcsDisplay/model.js +18 -105
  336. package/esm/LinearReadArcsDisplay/util.d.ts +1 -1
  337. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -3
  338. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +6 -10
  339. package/esm/LinearReadCloudDisplay/configSchema.d.ts +5 -17
  340. package/esm/LinearReadCloudDisplay/configSchema.js +3 -28
  341. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
  342. package/esm/LinearReadCloudDisplay/drawFeats.js +2 -2
  343. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
  344. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
  345. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
  346. package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -3
  347. package/esm/LinearReadCloudDisplay/index.d.ts +1 -1
  348. package/esm/LinearReadCloudDisplay/index.js +1 -2
  349. package/esm/LinearReadCloudDisplay/model.d.ts +14 -56
  350. package/esm/LinearReadCloudDisplay/model.js +17 -68
  351. package/esm/LinearReadCloudDisplay/util.js +0 -1
  352. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -3
  353. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +16 -52
  354. package/esm/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
  355. package/esm/LinearSNPCoverageDisplay/configSchema.js +16 -32
  356. package/esm/LinearSNPCoverageDisplay/index.d.ts +1 -1
  357. package/esm/LinearSNPCoverageDisplay/index.js +1 -2
  358. package/esm/LinearSNPCoverageDisplay/model.d.ts +13 -54
  359. package/esm/LinearSNPCoverageDisplay/model.js +53 -153
  360. package/esm/MismatchParser/cigarToMismatches.d.ts +2 -3
  361. package/esm/MismatchParser/cigarToMismatches.js +4 -7
  362. package/esm/MismatchParser/getNextRefPos.js +0 -2
  363. package/esm/MismatchParser/index.d.ts +3 -4
  364. package/esm/MismatchParser/index.js +1 -9
  365. package/esm/MismatchParser/mdToMismatches.d.ts +2 -3
  366. package/esm/MismatchParser/mdToMismatches.js +0 -6
  367. package/esm/ModificationParser/index.d.ts +1 -1
  368. package/esm/ModificationParser/index.js +1 -18
  369. package/esm/PileupRPC/base.d.ts +2 -2
  370. package/esm/PileupRPC/base.js +0 -1
  371. package/esm/PileupRPC/index.d.ts +1 -1
  372. package/esm/PileupRPC/index.js +1 -1
  373. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
  374. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
  375. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
  376. package/esm/PileupRPC/methods/GetReducedFeatures.js +3 -5
  377. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
  378. package/esm/PileupRPC/methods/GetVisibleModifications.js +1 -1
  379. package/esm/PileupRPC/util.d.ts +1 -1
  380. package/esm/PileupRenderer/PileupLayoutSession.d.ts +5 -5
  381. package/esm/PileupRenderer/PileupLayoutSession.js +2 -5
  382. package/esm/PileupRenderer/PileupRenderer.d.ts +14 -24
  383. package/esm/PileupRenderer/PileupRenderer.js +12 -17
  384. package/esm/PileupRenderer/colorBy.d.ts +2 -2
  385. package/esm/PileupRenderer/colorBy.js +1 -7
  386. package/esm/PileupRenderer/components/PileupRendering.d.ts +2 -3
  387. package/esm/PileupRenderer/components/PileupRendering.js +15 -20
  388. package/esm/PileupRenderer/configSchema.d.ts +5 -31
  389. package/esm/PileupRenderer/configSchema.js +6 -35
  390. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
  391. package/esm/PileupRenderer/getAlignmentShapeColor.js +2 -7
  392. package/esm/PileupRenderer/index.d.ts +1 -1
  393. package/esm/PileupRenderer/index.js +1 -1
  394. package/esm/PileupRenderer/layoutFeature.d.ts +2 -2
  395. package/esm/PileupRenderer/layoutFeature.js +0 -1
  396. package/esm/PileupRenderer/layoutFeatures.d.ts +5 -2
  397. package/esm/PileupRenderer/layoutFeatures.js +7 -5
  398. package/esm/PileupRenderer/makeImageData.d.ts +3 -4
  399. package/esm/PileupRenderer/makeImageData.js +10 -2
  400. package/esm/PileupRenderer/renderAlignment.d.ts +3 -3
  401. package/esm/PileupRenderer/renderAlignment.js +3 -5
  402. package/esm/PileupRenderer/renderAlignmentShape.d.ts +3 -3
  403. package/esm/PileupRenderer/renderAlignmentShape.js +1 -1
  404. package/esm/PileupRenderer/renderMethylation.d.ts +4 -4
  405. package/esm/PileupRenderer/renderMethylation.js +0 -4
  406. package/esm/PileupRenderer/renderMismatches.d.ts +5 -4
  407. package/esm/PileupRenderer/renderMismatches.js +19 -25
  408. package/esm/PileupRenderer/renderModifications.d.ts +3 -3
  409. package/esm/PileupRenderer/renderModifications.js +1 -3
  410. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
  411. package/esm/PileupRenderer/renderPerBaseLettering.js +0 -1
  412. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
  413. package/esm/PileupRenderer/renderPerBaseQuality.js +2 -2
  414. package/esm/PileupRenderer/renderSoftClipping.d.ts +5 -5
  415. package/esm/PileupRenderer/renderSoftClipping.js +1 -5
  416. package/esm/PileupRenderer/sortUtil.d.ts +2 -2
  417. package/esm/PileupRenderer/sortUtil.js +1 -4
  418. package/esm/PileupRenderer/types.d.ts +26 -0
  419. package/esm/PileupRenderer/types.js +1 -0
  420. package/esm/PileupRenderer/util.d.ts +2 -2
  421. package/esm/PileupRenderer/util.js +1 -3
  422. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
  423. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +5 -7
  424. package/esm/SNPCoverageAdapter/configSchema.d.ts +0 -4
  425. package/esm/SNPCoverageAdapter/configSchema.js +1 -8
  426. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
  427. package/esm/SNPCoverageAdapter/generateCoverageBins.js +24 -246
  428. package/esm/SNPCoverageAdapter/index.d.ts +1 -1
  429. package/esm/SNPCoverageAdapter/processDepth.d.ts +8 -0
  430. package/esm/SNPCoverageAdapter/processDepth.js +35 -0
  431. package/esm/SNPCoverageAdapter/processMismatches.d.ts +9 -0
  432. package/esm/SNPCoverageAdapter/processMismatches.js +55 -0
  433. package/esm/SNPCoverageAdapter/processModifications.d.ts +10 -0
  434. package/esm/SNPCoverageAdapter/processModifications.js +46 -0
  435. package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
  436. package/esm/SNPCoverageAdapter/processReferenceCpGs.js +60 -0
  437. package/esm/SNPCoverageAdapter/util.d.ts +10 -0
  438. package/esm/SNPCoverageAdapter/util.js +35 -0
  439. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +2 -18
  440. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +3 -289
  441. package/esm/SNPCoverageRenderer/configSchema.d.ts +3 -18
  442. package/esm/SNPCoverageRenderer/configSchema.js +4 -22
  443. package/esm/SNPCoverageRenderer/index.d.ts +1 -1
  444. package/esm/SNPCoverageRenderer/index.js +2 -2
  445. package/esm/SNPCoverageRenderer/makeImage.d.ts +2 -0
  446. package/esm/SNPCoverageRenderer/makeImage.js +267 -0
  447. package/esm/SNPCoverageRenderer/types.d.ts +19 -0
  448. package/esm/SNPCoverageRenderer/types.js +1 -0
  449. package/esm/index.d.ts +2 -2
  450. package/esm/index.js +10 -10
  451. package/esm/shared/afterAttach.d.ts +1 -1
  452. package/esm/shared/afterAttach.js +0 -2
  453. package/esm/shared/color.d.ts +1 -1
  454. package/esm/shared/color.js +0 -8
  455. package/esm/shared/components/BaseDisplayComponent.d.ts +3 -4
  456. package/esm/shared/components/BaseDisplayComponent.js +13 -16
  457. package/esm/shared/components/FilterByTagDialog.d.ts +2 -3
  458. package/esm/shared/components/FilterByTagDialog.js +44 -71
  459. package/esm/shared/fetchChains.d.ts +2 -2
  460. package/esm/shared/fetchChains.js +1 -2
  461. package/esm/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
  462. package/esm/shared/getMaximumModificationAtEachPosition.js +1 -2
  463. package/esm/shared/getUniqueModifications.d.ts +5 -5
  464. package/esm/shared/getUniqueTags.d.ts +4 -4
  465. package/esm/shared/renderSvgUtil.d.ts +1 -2
  466. package/esm/shared/renderSvgUtil.js +3 -9
  467. package/esm/shared/util.d.ts +11 -1
  468. package/esm/shared/util.js +24 -0
  469. package/esm/util.d.ts +4 -4
  470. package/esm/util.js +3 -9
  471. package/package.json +6 -7
@@ -1,74 +1,58 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { baseLinearDisplayConfigSchema } from '@jbrowse/plugin-linear-genome-view';
3
3
  import { types } from 'mobx-state-tree';
4
- /**
5
- * #config LinearSNPCoverageDisplay
6
- *
7
- * extends
8
- * - [BaseLinearDisplay](../baselineardisplay)
9
- */
10
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
4
+ import { defaultFilterFlags } from '../shared/util';
5
+ function x() { }
11
6
  export default function SNPCoverageConfigFactory(pluginManager) {
12
7
  return ConfigurationSchema('LinearSNPCoverageDisplay', {
13
- /**
14
- * #slot
15
- */
16
8
  autoscale: {
17
9
  type: 'stringEnum',
18
10
  defaultValue: 'local',
19
11
  model: types.enumeration('Autoscale type', ['local']),
20
12
  description: 'performs local autoscaling (no other options for SNP Coverage available)',
21
13
  },
22
- /**
23
- * #slot
24
- */
25
14
  minScore: {
26
15
  type: 'number',
27
16
  defaultValue: Number.MIN_VALUE,
28
17
  description: 'minimum value for the y-scale',
29
18
  },
30
- /**
31
- * #slot
32
- */
33
19
  maxScore: {
34
20
  type: 'number',
35
21
  description: 'maximum value for the y-scale',
36
22
  defaultValue: Number.MAX_VALUE,
37
23
  },
38
- /**
39
- * #slot
40
- */
41
24
  scaleType: {
42
25
  type: 'stringEnum',
43
- model: types.enumeration('Scale type', ['linear', 'log']), // todo zscale
26
+ model: types.enumeration('Scale type', ['linear', 'log']),
44
27
  description: 'The type of scale to use',
45
28
  defaultValue: 'linear',
46
29
  },
47
- /**
48
- * #slot
49
- */ inverted: {
30
+ inverted: {
50
31
  type: 'boolean',
51
32
  description: 'draw upside down',
52
33
  defaultValue: false,
53
34
  },
54
- /**
55
- * #slot
56
- */
57
35
  multiTicks: {
58
36
  type: 'boolean',
59
37
  description: 'Display multiple values for the ticks',
60
38
  defaultValue: false,
61
39
  },
62
- /**
63
- * #slot
64
- */
65
40
  renderers: ConfigurationSchema('RenderersConfiguration', {
66
41
  SNPCoverageRenderer: pluginManager.getRendererType('SNPCoverageRenderer').configSchema,
67
42
  }),
43
+ colorBy: {
44
+ type: 'frozen',
45
+ description: 'color scheme to use',
46
+ defaultValue: {
47
+ type: 'normal',
48
+ },
49
+ },
50
+ filterBy: {
51
+ type: 'frozen',
52
+ description: 'default filters to use',
53
+ defaultValue: defaultFilterFlags,
54
+ },
68
55
  }, {
69
- /**
70
- * #baseConfiguration
71
- */
72
56
  baseConfiguration: baseLinearDisplayConfigSchema,
73
57
  explicitlyTyped: true,
74
58
  });
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function register(pluginManager: PluginManager): void;
@@ -1,6 +1,5 @@
1
- import { LinearWiggleDisplayReactComponent } from '@jbrowse/plugin-wiggle';
2
1
  import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
3
- // locals
2
+ import { LinearWiggleDisplayReactComponent } from '@jbrowse/plugin-wiggle';
4
3
  import configSchemaFactory from './configSchema';
5
4
  import modelFactory from './model';
6
5
  export default function register(pluginManager) {
@@ -1,11 +1,6 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
3
- import { ColorBy, FilterBy } from '../shared/types';
4
- /**
5
- * #stateModel LinearSNPCoverageDisplay
6
- * extends
7
- * - [LinearWiggleDisplay](../linearwiggledisplay)
8
- */
1
+ import type { ColorBy, FilterBy } from '../shared/types';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
9
4
  declare function stateModelFactory(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
10
5
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
11
6
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -18,21 +13,12 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
18
13
  } & {
19
14
  blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
20
15
  key: import("mobx-state-tree").ISimpleType<string>;
21
- region: import("mobx-state-tree").IModelType<{
22
- refName: import("mobx-state-tree").ISimpleType<string>;
23
- start: import("mobx-state-tree").ISimpleType<number>;
24
- end: import("mobx-state-tree").ISimpleType<number>;
25
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
26
- } & {
27
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
28
- }, {
29
- setRefName(newRefName: string): void;
30
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
16
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
31
17
  reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
32
18
  isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
33
19
  isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
34
20
  }, {
35
- renderInProgress: AbortController | undefined;
21
+ stopToken: string | undefined;
36
22
  filled: boolean;
37
23
  reactElement: React.ReactElement | undefined;
38
24
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
@@ -50,21 +36,15 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
50
36
  status?: string;
51
37
  reactElement?: React.ReactElement;
52
38
  };
53
- }) => import("react").JSX.Element | undefined;
39
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
54
40
  renderProps: any;
55
41
  } & {
56
42
  doReload(): void;
57
43
  afterAttach(): void;
58
44
  setStatus(message: string): void;
59
- setLoading(abortController: AbortController): void;
45
+ setLoading(newStopToken: string): void;
60
46
  setMessage(messageText: string): void;
61
- setRendered(props: {
62
- reactElement: React.ReactElement;
63
- features: Map<string, import("@jbrowse/core/util").Feature>;
64
- layout: any;
65
- maxHeightReached: boolean;
66
- renderProps: any;
67
- } | undefined): void;
47
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
68
48
  setError(error: unknown): void;
69
49
  reload(): void;
70
50
  beforeDestroy(): void;
@@ -118,33 +98,12 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
118
98
  } & {
119
99
  type: import("mobx-state-tree").ISimpleType<"LinearWiggleDisplay">;
120
100
  } & {
121
- /**
122
- * #property
123
- */
124
101
  type: import("mobx-state-tree").ISimpleType<"LinearSNPCoverageDisplay">;
125
- /**
126
- * #property
127
- */
128
- drawInterbaseCounts: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
129
- /**
130
- * #property
131
- */
132
- drawIndicators: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
133
- /**
134
- * #property
135
- */
136
- drawArcs: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
137
- /**
138
- * #property
139
- */
140
- filterBy: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<FilterBy, FilterBy, FilterBy>, [undefined]>;
141
- /**
142
- * #property
143
- */
144
- colorBy: import("mobx-state-tree").IType<ColorBy | undefined, ColorBy | undefined, ColorBy | undefined>;
145
- /**
146
- * #property
147
- */
102
+ showInterbaseCounts: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
103
+ showInterbaseIndicators: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
104
+ showArcs: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
105
+ filterBySetting: import("mobx-state-tree").IType<FilterBy | undefined, FilterBy | undefined, FilterBy | undefined>;
106
+ colorBySetting: import("mobx-state-tree").IType<ColorBy | undefined, ColorBy | undefined, ColorBy | undefined>;
148
107
  jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
149
108
  }, never, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
150
109
  export type SNPCoverageDisplayModel = ReturnType<typeof stateModelFactory>;
@@ -1,101 +1,59 @@
1
1
  import { lazy } from 'react';
2
- import { types, cast, getEnv, isAlive } from 'mobx-state-tree';
3
- import { observable } from 'mobx';
4
- import { getConf, readConfObject, } from '@jbrowse/core/configuration';
5
- import { linearWiggleDisplayModelFactory } from '@jbrowse/plugin-wiggle';
6
- import { getContainingView } from '@jbrowse/core/util';
2
+ import { getConf, readConfObject } from '@jbrowse/core/configuration';
7
3
  import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
8
- // locals
9
- import { createAutorun, getColorForModification } from '../util';
4
+ import { getContainingView } from '@jbrowse/core/util';
5
+ import { linearWiggleDisplayModelFactory } from '@jbrowse/plugin-wiggle';
6
+ import VisibilityIcon from '@mui/icons-material/Visibility';
7
+ import { observable } from 'mobx';
8
+ import { cast, getEnv, isAlive, types } from 'mobx-state-tree';
10
9
  import { getUniqueModifications } from '../shared/getUniqueModifications';
11
- // lazies
10
+ import { createAutorun, getColorForModification } from '../util';
12
11
  const Tooltip = lazy(() => import('./components/Tooltip'));
13
- // using a map because it preserves order
14
12
  const rendererTypes = new Map([['snpcoverage', 'SNPCoverageRenderer']]);
15
- /**
16
- * #stateModel LinearSNPCoverageDisplay
17
- * extends
18
- * - [LinearWiggleDisplay](../linearwiggledisplay)
19
- */
20
13
  function stateModelFactory(pluginManager, configSchema) {
21
14
  return types
22
15
  .compose('LinearSNPCoverageDisplay', linearWiggleDisplayModelFactory(pluginManager, configSchema), types.model({
23
- /**
24
- * #property
25
- */
26
16
  type: types.literal('LinearSNPCoverageDisplay'),
27
- /**
28
- * #property
29
- */
30
- drawInterbaseCounts: types.maybe(types.boolean),
31
- /**
32
- * #property
33
- */
34
- drawIndicators: types.maybe(types.boolean),
35
- /**
36
- * #property
37
- */
38
- drawArcs: types.maybe(types.boolean),
39
- /**
40
- * #property
41
- */
42
- filterBy: types.optional(types.frozen(), {
43
- flagInclude: 0,
44
- flagExclude: 1540,
45
- }),
46
- /**
47
- * #property
48
- */
49
- colorBy: types.frozen(),
50
- /**
51
- * #property
52
- */
17
+ showInterbaseCounts: types.maybe(types.boolean),
18
+ showInterbaseIndicators: types.maybe(types.boolean),
19
+ showArcs: types.maybe(types.boolean),
20
+ filterBySetting: types.frozen(),
21
+ colorBySetting: types.frozen(),
53
22
  jexlFilters: types.optional(types.array(types.string), []),
54
23
  }))
55
24
  .volatile(() => ({
56
- /**
57
- * #volatile
58
- */
59
25
  visibleModifications: observable.map({}),
60
- /**
61
- * #volatile
62
- */
63
26
  modificationsReady: false,
27
+ }))
28
+ .views(self => ({
29
+ get colorBy() {
30
+ var _a;
31
+ return (_a = self.colorBySetting) !== null && _a !== void 0 ? _a : getConf(self, 'colorBy');
32
+ },
33
+ get filterBy() {
34
+ var _a;
35
+ return (_a = self.filterBySetting) !== null && _a !== void 0 ? _a : getConf(self, 'filterBy');
36
+ },
64
37
  }))
65
38
  .actions(self => ({
66
- /**
67
- * #action
68
- */
69
39
  setConfig(configuration) {
70
40
  self.configuration = configuration;
71
41
  },
72
- /**
73
- * #action
74
- */
75
42
  setFilterBy(filter) {
76
- self.filterBy = {
43
+ self.filterBySetting = {
77
44
  ...filter,
78
45
  };
79
46
  },
80
- /**
81
- * #action
82
- */
83
47
  setColorScheme(colorBy) {
84
- self.colorBy = colorBy
48
+ self.colorBySetting = colorBy
85
49
  ? {
86
50
  ...colorBy,
87
51
  }
88
52
  : undefined;
89
53
  },
90
- /**
91
- * #action
92
- */
93
54
  setJexlFilters(filters) {
94
55
  self.jexlFilters = cast(filters);
95
56
  },
96
- /**
97
- * #action
98
- */
99
57
  updateVisibleModifications(uniqueModifications) {
100
58
  for (const modification of uniqueModifications) {
101
59
  if (!self.visibleModifications.has(modification.type)) {
@@ -110,53 +68,34 @@ function stateModelFactory(pluginManager, configSchema) {
110
68
  .views(self => {
111
69
  const { adapterProps: superAdapterProps } = self;
112
70
  return {
113
- /**
114
- * #getter
115
- */
116
71
  get rendererConfig() {
117
72
  const configBlob = getConf(self, ['renderers', self.rendererTypeName]) || {};
118
- const { drawArcs, drawInterbaseCounts, drawIndicators } = self;
73
+ const { showArcs, showInterbaseCounts, showInterbaseIndicators } = self;
119
74
  return self.rendererType.configSchema.create({
120
75
  ...configBlob,
121
- drawInterbaseCounts: drawInterbaseCounts !== null && drawInterbaseCounts !== void 0 ? drawInterbaseCounts : configBlob.drawInterbaseCounts,
122
- drawIndicators: drawIndicators !== null && drawIndicators !== void 0 ? drawIndicators : configBlob.drawIndicators,
123
- drawArcs: drawArcs !== null && drawArcs !== void 0 ? drawArcs : configBlob.drawArcs,
76
+ showInterbaseCounts: showInterbaseCounts !== null && showInterbaseCounts !== void 0 ? showInterbaseCounts : configBlob.showInterbaseCounts,
77
+ showInterbaseIndicators: showInterbaseIndicators !== null && showInterbaseIndicators !== void 0 ? showInterbaseIndicators : configBlob.showInterbaseIndicators,
78
+ showArcs: showArcs !== null && showArcs !== void 0 ? showArcs : configBlob.showArcs,
124
79
  }, getEnv(self));
125
80
  },
126
- /**
127
- * #getter
128
- */
129
- get drawArcsSetting() {
81
+ get showArcsSetting() {
130
82
  var _a;
131
- return ((_a = self.drawArcs) !== null && _a !== void 0 ? _a : readConfObject(this.rendererConfig, 'drawArcs'));
83
+ return ((_a = self.showArcs) !== null && _a !== void 0 ? _a : readConfObject(this.rendererConfig, 'showArcs'));
132
84
  },
133
- /**
134
- * #getter
135
- */
136
- get drawInterbaseCountsSetting() {
85
+ get showInterbaseCountsSetting() {
137
86
  var _a;
138
- return ((_a = self.drawInterbaseCounts) !== null && _a !== void 0 ? _a : readConfObject(this.rendererConfig, 'drawInterbaseCounts'));
87
+ return ((_a = self.showInterbaseCounts) !== null && _a !== void 0 ? _a : readConfObject(this.rendererConfig, 'showInterbaseCounts'));
139
88
  },
140
- /**
141
- * #getter
142
- */
143
- get drawIndicatorsSetting() {
89
+ get showInterbaseIndicatorsSetting() {
144
90
  var _a;
145
- return ((_a = self.drawIndicators) !== null && _a !== void 0 ? _a : readConfObject(this.rendererConfig, 'drawIndicators'));
91
+ return ((_a = self.showInterbaseIndicators) !== null && _a !== void 0 ? _a : readConfObject(this.rendererConfig, 'showInterbaseIndicators'));
146
92
  },
147
- /**
148
- * #getter
149
- */
150
93
  get autorunReady() {
151
94
  const view = getContainingView(self);
152
95
  return (view.initialized &&
153
- self.featureDensityStatsReady &&
154
- !self.regionTooLarge &&
96
+ self.statsReadyAndRegionNotTooLarge &&
155
97
  !self.error);
156
98
  },
157
- /**
158
- * #method
159
- */
160
99
  adapterProps() {
161
100
  const superProps = superAdapterProps();
162
101
  const { filters, filterBy } = self;
@@ -169,29 +108,17 @@ function stateModelFactory(pluginManager, configSchema) {
169
108
  };
170
109
  })
171
110
  .actions(self => ({
172
- /**
173
- * #action
174
- */
175
111
  setModificationsReady(flag) {
176
112
  self.modificationsReady = flag;
177
113
  },
178
- /**
179
- * #action
180
- */
181
- toggleDrawIndicators() {
182
- self.drawIndicators = !self.drawIndicatorsSetting;
114
+ setShowInterbaseIndicators(arg) {
115
+ self.showInterbaseIndicators = arg;
183
116
  },
184
- /**
185
- * #action
186
- */
187
- toggleDrawInterbaseCounts() {
188
- self.drawInterbaseCounts = !self.drawInterbaseCountsSetting;
117
+ setShowInterbaseCounts(arg) {
118
+ self.showInterbaseCounts = arg;
189
119
  },
190
- /**
191
- * #action
192
- */
193
- toggleDrawArcs() {
194
- self.drawArcs = !self.drawArcsSetting;
120
+ setShowArcs(arg) {
121
+ self.showArcs = arg;
195
122
  },
196
123
  }))
197
124
  .actions(self => ({
@@ -224,22 +151,13 @@ function stateModelFactory(pluginManager, configSchema) {
224
151
  .views(self => {
225
152
  const { renderProps: superRenderProps, trackMenuItems: superTrackMenuItems, } = self;
226
153
  return {
227
- /**
228
- * #getter
229
- */
230
154
  get renderReady() {
231
155
  const superProps = superRenderProps();
232
156
  return !superProps.notReady && self.modificationsReady;
233
157
  },
234
- /**
235
- * #getter
236
- */
237
158
  get ready() {
238
159
  return this.renderReady;
239
160
  },
240
- /**
241
- * #method
242
- */
243
161
  renderProps() {
244
162
  const { colorBy, visibleModifications } = self;
245
163
  return {
@@ -249,15 +167,9 @@ function stateModelFactory(pluginManager, configSchema) {
249
167
  visibleModifications: Object.fromEntries(visibleModifications.toJSON()),
250
168
  };
251
169
  },
252
- /**
253
- * #getter
254
- */
255
170
  get TooltipComponent() {
256
171
  return Tooltip;
257
172
  },
258
- /**
259
- * #getter
260
- */
261
173
  get adapterConfig() {
262
174
  const subadapter = getConf(self.parentTrack, 'adapter');
263
175
  return {
@@ -265,59 +177,47 @@ function stateModelFactory(pluginManager, configSchema) {
265
177
  subadapter,
266
178
  };
267
179
  },
268
- /**
269
- * #getter
270
- */
271
180
  get rendererTypeName() {
272
181
  return rendererTypes.get('snpcoverage');
273
182
  },
274
- /**
275
- * #getter
276
- */
277
183
  get needsScalebar() {
278
184
  return true;
279
185
  },
280
- /**
281
- * #method
282
- */
283
186
  contextMenuItems() {
284
187
  return [];
285
188
  },
286
- /**
287
- * #method
288
- */
289
189
  trackMenuItems() {
290
190
  return [
291
191
  ...superTrackMenuItems(),
292
192
  {
293
- label: 'Draw insertion/clipping indicators',
193
+ label: 'Show insertion/clipping indicators',
194
+ icon: VisibilityIcon,
294
195
  type: 'checkbox',
295
- checked: self.drawIndicatorsSetting,
196
+ checked: self.showInterbaseIndicatorsSetting,
296
197
  onClick: () => {
297
- self.toggleDrawIndicators();
198
+ self.setShowInterbaseIndicators(!self.showInterbaseIndicatorsSetting);
298
199
  },
299
200
  },
300
201
  {
301
- label: 'Draw insertion/clipping counts',
202
+ label: 'Show insertion/clipping counts',
203
+ icon: VisibilityIcon,
302
204
  type: 'checkbox',
303
- checked: self.drawInterbaseCountsSetting,
205
+ checked: self.showInterbaseCountsSetting,
304
206
  onClick: () => {
305
- self.toggleDrawInterbaseCounts();
207
+ self.setShowInterbaseCounts(self.showInterbaseCountsSetting);
306
208
  },
307
209
  },
308
210
  {
309
- label: 'Draw arcs',
211
+ label: 'Show arcs',
212
+ icon: VisibilityIcon,
310
213
  type: 'checkbox',
311
- checked: self.drawArcsSetting,
214
+ checked: self.showArcsSetting,
312
215
  onClick: () => {
313
- self.toggleDrawArcs();
216
+ self.setShowArcs(self.showArcsSetting);
314
217
  },
315
218
  },
316
219
  ];
317
220
  },
318
- /**
319
- * #getter
320
- */
321
221
  get filters() {
322
222
  return new SerializableFilterChain({ filters: self.jexlFilters });
323
223
  },
@@ -1,3 +1,2 @@
1
- import { Mismatch } from '../shared/types';
2
- import type { Buffer } from 'buffer';
3
- export declare function cigarToMismatches(ops: string[], seq?: string, ref?: string, qual?: Buffer): Mismatch[];
1
+ import type { Mismatch } from '../shared/types';
2
+ export declare function cigarToMismatches(ops: string[], seq?: string, ref?: string, qual?: Uint8Array): Mismatch[];
@@ -1,6 +1,6 @@
1
1
  export function cigarToMismatches(ops, seq, ref, qual) {
2
- let roffset = 0; // reference offset
3
- let soffset = 0; // seq offset
2
+ let roffset = 0;
3
+ let soffset = 0;
4
4
  const mismatches = [];
5
5
  const hasRefAndSeq = ref && seq;
6
6
  for (let i = 0; i < ops.length; i += 2) {
@@ -9,10 +9,7 @@ export function cigarToMismatches(ops, seq, ref, qual) {
9
9
  if (op === 'M' || op === '=' || op === 'E') {
10
10
  if (hasRefAndSeq) {
11
11
  for (let j = 0; j < len; j++) {
12
- if (
13
- // @ts-ignore in the full yarn build of the repo, this says that
14
- // object is possibly undefined for some reason, ignored
15
- seq[soffset + j].toUpperCase() !== ref[roffset + j].toUpperCase()) {
12
+ if (seq[soffset + j].toUpperCase() !== ref[roffset + j].toUpperCase()) {
16
13
  mismatches.push({
17
14
  start: roffset + j,
18
15
  type: 'mismatch',
@@ -57,7 +54,7 @@ export function cigarToMismatches(ops, seq, ref, qual) {
57
54
  mismatches.push({
58
55
  start: roffset + j,
59
56
  type: 'mismatch',
60
- base: r[j],
57
+ base: r[j] || 'X',
61
58
  qual: q[j],
62
59
  length: 1,
63
60
  });
@@ -1,5 +1,3 @@
1
- // get relative reference sequence positions for positions given relative to
2
- // the read sequence
3
1
  export function getNextRefPos(cigarOps, positions) {
4
2
  let readPos = 0;
5
3
  let refPos = 0;
@@ -1,8 +1,7 @@
1
- import { Feature } from '@jbrowse/core/util';
2
- import type { Buffer } from 'buffer';
3
- import { Mismatch } from '../shared/types';
1
+ import type { Mismatch } from '../shared/types';
2
+ import type { Feature } from '@jbrowse/core/util';
4
3
  export declare function parseCigar(cigar?: string): string[];
5
- export declare function getMismatches(cigar?: string, md?: string, seq?: string, ref?: string, qual?: Buffer): Mismatch[];
4
+ export declare function getMismatches(cigar?: string, md?: string, seq?: string, ref?: string, qual?: Uint8Array): Mismatch[];
6
5
  export declare function getOrientedCigar(flip: boolean, cigar: string[]): string[];
7
6
  export declare function getOrientedMismatches(flip: boolean, cigar: string): Mismatch[];
8
7
  export declare function getLengthOnRef(cigar: string): number;
@@ -1,5 +1,5 @@
1
- import { mdToMismatches } from './mdToMismatches';
2
1
  import { cigarToMismatches } from './cigarToMismatches';
2
+ import { mdToMismatches } from './mdToMismatches';
3
3
  const cigarRegex = new RegExp(/([MIDNSHPX=])/);
4
4
  const startClip = new RegExp(/(\d+)[SH]$/);
5
5
  const endClip = new RegExp(/^(\d+)([SH])/);
@@ -9,11 +9,9 @@ export function parseCigar(cigar = '') {
9
9
  export function getMismatches(cigar, md, seq, ref, qual) {
10
10
  let mismatches = [];
11
11
  const ops = parseCigar(cigar);
12
- // parse the CIGAR tag if it has one
13
12
  if (cigar) {
14
13
  mismatches = mismatches.concat(cigarToMismatches(ops, seq, ref, qual));
15
14
  }
16
- // now let's look for CRAM or MD mismatches
17
15
  if (md && seq) {
18
16
  mismatches = mismatches.concat(mdToMismatches(md, ops, mismatches, seq, qual));
19
17
  }
@@ -85,12 +83,6 @@ export function getClip(cigar, strand) {
85
83
  export function getTag(feature, tag) {
86
84
  return feature.get('tags')[tag];
87
85
  }
88
- // produces a list of "feature-like" object from parsing supplementary
89
- // alignments in the SA tag
90
- //
91
- // @param normalize - used specifically in the linear-read-vs-ref context, it
92
- // flips features around relative to the original feature. other contexts of
93
- // usage can keep this false
94
86
  export function featurizeSA(SA, id, strand, readName, normalize) {
95
87
  return ((SA === null || SA === void 0 ? void 0 : SA.split(';').filter(aln => !!aln).map((aln, index) => {
96
88
  const ret = aln.split(',');
@@ -1,3 +1,2 @@
1
- import { Mismatch } from '../shared/types';
2
- import { Buffer } from 'buffer';
3
- export declare function mdToMismatches(mdstring: string, ops: string[], cigarMismatches: Mismatch[], seq: string, qual?: Buffer | number[] | null): Mismatch[];
1
+ import type { Mismatch } from '../shared/types';
2
+ export declare function mdToMismatches(mdstring: string, ops: string[], cigarMismatches: Mismatch[], seq: string, qual?: Uint8Array): Mismatch[];