@jbrowse/plugin-alignments 2.2.1 → 2.3.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 (349) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +1 -1
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  3. package/dist/AlignmentsTrack/index.js +1 -0
  4. package/dist/AlignmentsTrack/index.js.map +1 -1
  5. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -4
  6. package/dist/BamAdapter/BamSlightlyLazyFeature.js +11 -18
  7. package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  8. package/dist/BamAdapter/index.js +1 -0
  9. package/dist/BamAdapter/index.js.map +1 -1
  10. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +5 -7
  11. package/dist/CramAdapter/CramSlightlyLazyFeature.js +6 -8
  12. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  13. package/dist/CramAdapter/CramTestAdapters.js +2 -1
  14. package/dist/CramAdapter/CramTestAdapters.js.map +1 -1
  15. package/dist/CramAdapter/index.js +1 -0
  16. package/dist/CramAdapter/index.js.map +1 -1
  17. package/dist/GuessAlignmentsTypes/index.d.ts +3 -0
  18. package/dist/GuessAlignmentsTypes/index.js +56 -0
  19. package/dist/GuessAlignmentsTypes/index.js.map +1 -0
  20. package/dist/HtsgetBamAdapter/index.js +11 -11
  21. package/dist/HtsgetBamAdapter/index.js.map +1 -1
  22. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -13
  23. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  24. package/dist/LinearAlignmentsDisplay/index.js +1 -0
  25. package/dist/LinearAlignmentsDisplay/index.js.map +1 -1
  26. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +6 -3
  27. package/dist/LinearAlignmentsDisplay/models/configSchema.js +2 -3
  28. package/dist/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
  29. package/dist/LinearAlignmentsDisplay/models/model.d.ts +22 -36
  30. package/dist/LinearAlignmentsDisplay/models/model.js +166 -151
  31. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
  32. package/dist/LinearPileupDisplay/components/ColorByModifications.d.ts +3 -1
  33. package/dist/LinearPileupDisplay/components/ColorByModifications.js +7 -22
  34. package/dist/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  35. package/dist/LinearPileupDisplay/components/ColorByTag.js +2 -22
  36. package/dist/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  37. package/dist/LinearPileupDisplay/components/SetFeatureHeight.d.ts +2 -2
  38. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +3 -22
  39. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -1
  40. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +2 -18
  41. package/dist/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  42. package/dist/LinearPileupDisplay/components/SortByTag.js +2 -23
  43. package/dist/LinearPileupDisplay/components/SortByTag.js.map +1 -1
  44. package/dist/LinearPileupDisplay/configSchema.d.ts +0 -3
  45. package/dist/LinearPileupDisplay/configSchema.js.map +1 -1
  46. package/dist/LinearPileupDisplay/index.js +2 -0
  47. package/dist/LinearPileupDisplay/index.js.map +1 -1
  48. package/dist/LinearPileupDisplay/model.d.ts +19 -16
  49. package/dist/LinearPileupDisplay/model.js +28 -13
  50. package/dist/LinearPileupDisplay/model.js.map +1 -1
  51. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +6 -0
  52. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +49 -0
  53. package/dist/LinearReadArcsDisplay/components/ReactComponent.js.map +1 -0
  54. package/dist/LinearReadArcsDisplay/configSchema.d.ts +6 -0
  55. package/dist/LinearReadArcsDisplay/configSchema.js +52 -0
  56. package/dist/LinearReadArcsDisplay/configSchema.js.map +1 -0
  57. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +14 -0
  58. package/dist/LinearReadArcsDisplay/drawFeats.js +162 -0
  59. package/dist/LinearReadArcsDisplay/drawFeats.js.map +1 -0
  60. package/dist/LinearReadArcsDisplay/index.d.ts +2 -0
  61. package/dist/LinearReadArcsDisplay/index.js +27 -0
  62. package/dist/LinearReadArcsDisplay/index.js.map +1 -0
  63. package/dist/LinearReadArcsDisplay/model.d.ts +342 -0
  64. package/dist/LinearReadArcsDisplay/model.js +327 -0
  65. package/dist/LinearReadArcsDisplay/model.js.map +1 -0
  66. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +6 -0
  67. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +49 -0
  68. package/dist/LinearReadCloudDisplay/components/ReactComponent.js.map +1 -0
  69. package/dist/LinearReadCloudDisplay/configSchema.d.ts +6 -0
  70. package/dist/LinearReadCloudDisplay/configSchema.js +51 -0
  71. package/dist/LinearReadCloudDisplay/configSchema.js.map +1 -0
  72. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +10 -0
  73. package/dist/LinearReadCloudDisplay/drawFeats.js +159 -0
  74. package/dist/LinearReadCloudDisplay/drawFeats.js.map +1 -0
  75. package/dist/LinearReadCloudDisplay/index.d.ts +2 -0
  76. package/dist/LinearReadCloudDisplay/index.js +27 -0
  77. package/dist/LinearReadCloudDisplay/index.js.map +1 -0
  78. package/dist/LinearReadCloudDisplay/model.d.ts +320 -0
  79. package/dist/LinearReadCloudDisplay/model.js +252 -0
  80. package/dist/LinearReadCloudDisplay/model.js.map +1 -0
  81. package/dist/LinearSNPCoverageDisplay/index.js +1 -0
  82. package/dist/LinearSNPCoverageDisplay/index.js.map +1 -1
  83. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +22 -19
  84. package/dist/LinearSNPCoverageDisplay/models/model.js +9 -12
  85. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  86. package/dist/{BamAdapter/MismatchParser.d.ts → MismatchParser/index.d.ts} +23 -0
  87. package/dist/{BamAdapter/MismatchParser.js → MismatchParser/index.js} +116 -3
  88. package/dist/MismatchParser/index.js.map +1 -0
  89. package/dist/PileupRPC/base.d.ts +8 -0
  90. package/dist/PileupRPC/base.js +22 -0
  91. package/dist/PileupRPC/base.js.map +1 -0
  92. package/dist/PileupRPC/index.d.ts +3 -0
  93. package/dist/PileupRPC/index.js +9 -0
  94. package/dist/PileupRPC/index.js.map +1 -0
  95. package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +14 -0
  96. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +29 -0
  97. package/dist/PileupRPC/methods/GetGlobalValueForTag.js.map +1 -0
  98. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +25 -0
  99. package/dist/PileupRPC/methods/GetReducedFeatures.js +61 -0
  100. package/dist/PileupRPC/methods/GetReducedFeatures.js.map +1 -0
  101. package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +14 -0
  102. package/dist/PileupRPC/methods/GetVisibleModifications.js +32 -0
  103. package/dist/PileupRPC/methods/GetVisibleModifications.js.map +1 -0
  104. package/dist/PileupRPC/rpcMethods.d.ts +4 -34
  105. package/dist/PileupRPC/rpcMethods.js +7 -77
  106. package/dist/PileupRPC/rpcMethods.js.map +1 -1
  107. package/dist/PileupRPC/util.d.ts +8 -0
  108. package/dist/PileupRPC/util.js +20 -0
  109. package/dist/PileupRPC/util.js.map +1 -0
  110. package/dist/PileupRenderer/PileupRenderer.d.ts +1 -1
  111. package/dist/PileupRenderer/PileupRenderer.js +5 -5
  112. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  113. package/dist/PileupRenderer/configSchema.js +1 -1
  114. package/dist/PileupRenderer/configSchema.js.map +1 -1
  115. package/dist/PileupRenderer/index.js +1 -0
  116. package/dist/PileupRenderer/index.js.map +1 -1
  117. package/dist/PileupRenderer/sortUtil.d.ts +1 -1
  118. package/dist/PileupRenderer/sortUtil.js +2 -2
  119. package/dist/PileupRenderer/sortUtil.js.map +1 -1
  120. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +0 -51
  121. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +3 -182
  122. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  123. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +53 -0
  124. package/dist/SNPCoverageAdapter/generateCoverageBins.js +185 -0
  125. package/dist/SNPCoverageAdapter/generateCoverageBins.js.map +1 -0
  126. package/dist/SNPCoverageAdapter/index.js +1 -3
  127. package/dist/SNPCoverageAdapter/index.js.map +1 -1
  128. package/dist/index.d.ts +2 -2
  129. package/dist/index.js +12 -58
  130. package/dist/index.js.map +1 -1
  131. package/dist/{LinearPileupDisplay/components → shared}/FilterByTag.d.ts +0 -0
  132. package/dist/{LinearPileupDisplay/components → shared}/FilterByTag.js +5 -24
  133. package/dist/shared/FilterByTag.js.map +1 -0
  134. package/dist/shared/color.d.ts +17 -0
  135. package/dist/shared/color.js +43 -0
  136. package/dist/shared/color.js.map +1 -0
  137. package/dist/shared/fetchChains.d.ts +27 -0
  138. package/dist/shared/fetchChains.js +30 -0
  139. package/dist/shared/fetchChains.js.map +1 -0
  140. package/dist/shared/index.d.ts +36 -0
  141. package/dist/{shared.js → shared/index.js} +12 -2
  142. package/dist/shared/index.js.map +1 -0
  143. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +1 -1
  144. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  145. package/esm/AlignmentsTrack/index.js +1 -0
  146. package/esm/AlignmentsTrack/index.js.map +1 -1
  147. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -4
  148. package/esm/BamAdapter/BamSlightlyLazyFeature.js +11 -18
  149. package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  150. package/esm/BamAdapter/index.js +1 -0
  151. package/esm/BamAdapter/index.js.map +1 -1
  152. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +5 -7
  153. package/esm/CramAdapter/CramSlightlyLazyFeature.js +6 -8
  154. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  155. package/esm/CramAdapter/CramTestAdapters.js +2 -1
  156. package/esm/CramAdapter/CramTestAdapters.js.map +1 -1
  157. package/esm/CramAdapter/index.js +1 -0
  158. package/esm/CramAdapter/index.js.map +1 -1
  159. package/esm/GuessAlignmentsTypes/index.d.ts +3 -0
  160. package/esm/GuessAlignmentsTypes/index.js +54 -0
  161. package/esm/GuessAlignmentsTypes/index.js.map +1 -0
  162. package/esm/HtsgetBamAdapter/index.js +11 -11
  163. package/esm/HtsgetBamAdapter/index.js.map +1 -1
  164. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +10 -13
  165. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  166. package/esm/LinearAlignmentsDisplay/index.js +1 -0
  167. package/esm/LinearAlignmentsDisplay/index.js.map +1 -1
  168. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +6 -3
  169. package/esm/LinearAlignmentsDisplay/models/configSchema.js +2 -4
  170. package/esm/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
  171. package/esm/LinearAlignmentsDisplay/models/model.d.ts +22 -36
  172. package/esm/LinearAlignmentsDisplay/models/model.js +167 -152
  173. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
  174. package/esm/LinearPileupDisplay/components/ColorByModifications.d.ts +3 -1
  175. package/esm/LinearPileupDisplay/components/ColorByModifications.js +8 -23
  176. package/esm/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  177. package/esm/LinearPileupDisplay/components/ColorByTag.js +3 -20
  178. package/esm/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  179. package/esm/LinearPileupDisplay/components/SetFeatureHeight.d.ts +2 -2
  180. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js +4 -20
  181. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -1
  182. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +3 -16
  183. package/esm/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  184. package/esm/LinearPileupDisplay/components/SortByTag.js +3 -21
  185. package/esm/LinearPileupDisplay/components/SortByTag.js.map +1 -1
  186. package/esm/LinearPileupDisplay/configSchema.d.ts +0 -3
  187. package/esm/LinearPileupDisplay/configSchema.js.map +1 -1
  188. package/esm/LinearPileupDisplay/index.js +2 -0
  189. package/esm/LinearPileupDisplay/index.js.map +1 -1
  190. package/esm/LinearPileupDisplay/model.d.ts +19 -16
  191. package/esm/LinearPileupDisplay/model.js +29 -14
  192. package/esm/LinearPileupDisplay/model.js.map +1 -1
  193. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +6 -0
  194. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +44 -0
  195. package/esm/LinearReadArcsDisplay/components/ReactComponent.js.map +1 -0
  196. package/esm/LinearReadArcsDisplay/configSchema.d.ts +6 -0
  197. package/esm/LinearReadArcsDisplay/configSchema.js +50 -0
  198. package/esm/LinearReadArcsDisplay/configSchema.js.map +1 -0
  199. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +14 -0
  200. package/esm/LinearReadArcsDisplay/drawFeats.js +157 -0
  201. package/esm/LinearReadArcsDisplay/drawFeats.js.map +1 -0
  202. package/esm/LinearReadArcsDisplay/index.d.ts +2 -0
  203. package/esm/LinearReadArcsDisplay/index.js +21 -0
  204. package/esm/LinearReadArcsDisplay/index.js.map +1 -0
  205. package/esm/LinearReadArcsDisplay/model.d.ts +342 -0
  206. package/esm/LinearReadArcsDisplay/model.js +299 -0
  207. package/esm/LinearReadArcsDisplay/model.js.map +1 -0
  208. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +6 -0
  209. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +44 -0
  210. package/esm/LinearReadCloudDisplay/components/ReactComponent.js.map +1 -0
  211. package/esm/LinearReadCloudDisplay/configSchema.d.ts +6 -0
  212. package/esm/LinearReadCloudDisplay/configSchema.js +49 -0
  213. package/esm/LinearReadCloudDisplay/configSchema.js.map +1 -0
  214. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +10 -0
  215. package/esm/LinearReadCloudDisplay/drawFeats.js +156 -0
  216. package/esm/LinearReadCloudDisplay/drawFeats.js.map +1 -0
  217. package/esm/LinearReadCloudDisplay/index.d.ts +2 -0
  218. package/esm/LinearReadCloudDisplay/index.js +21 -0
  219. package/esm/LinearReadCloudDisplay/index.js.map +1 -0
  220. package/esm/LinearReadCloudDisplay/model.d.ts +320 -0
  221. package/esm/LinearReadCloudDisplay/model.js +224 -0
  222. package/esm/LinearReadCloudDisplay/model.js.map +1 -0
  223. package/esm/LinearSNPCoverageDisplay/index.js +1 -0
  224. package/esm/LinearSNPCoverageDisplay/index.js.map +1 -1
  225. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +22 -19
  226. package/esm/LinearSNPCoverageDisplay/models/model.js +11 -14
  227. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  228. package/esm/{BamAdapter/MismatchParser.d.ts → MismatchParser/index.d.ts} +23 -0
  229. package/esm/{BamAdapter/MismatchParser.js → MismatchParser/index.js} +107 -2
  230. package/esm/MismatchParser/index.js.map +1 -0
  231. package/esm/PileupRPC/base.d.ts +8 -0
  232. package/esm/PileupRPC/base.js +16 -0
  233. package/esm/PileupRPC/base.js.map +1 -0
  234. package/esm/PileupRPC/index.d.ts +3 -0
  235. package/esm/PileupRPC/index.js +7 -0
  236. package/esm/PileupRPC/index.js.map +1 -0
  237. package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +14 -0
  238. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +23 -0
  239. package/esm/PileupRPC/methods/GetGlobalValueForTag.js.map +1 -0
  240. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +25 -0
  241. package/esm/PileupRPC/methods/GetReducedFeatures.js +55 -0
  242. package/esm/PileupRPC/methods/GetReducedFeatures.js.map +1 -0
  243. package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +14 -0
  244. package/esm/PileupRPC/methods/GetVisibleModifications.js +26 -0
  245. package/esm/PileupRPC/methods/GetVisibleModifications.js.map +1 -0
  246. package/esm/PileupRPC/rpcMethods.d.ts +4 -34
  247. package/esm/PileupRPC/rpcMethods.js +4 -74
  248. package/esm/PileupRPC/rpcMethods.js.map +1 -1
  249. package/esm/PileupRPC/util.d.ts +8 -0
  250. package/esm/PileupRPC/util.js +15 -0
  251. package/esm/PileupRPC/util.js.map +1 -0
  252. package/esm/PileupRenderer/PileupRenderer.d.ts +1 -1
  253. package/esm/PileupRenderer/PileupRenderer.js +5 -5
  254. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  255. package/esm/PileupRenderer/configSchema.js +1 -1
  256. package/esm/PileupRenderer/configSchema.js.map +1 -1
  257. package/esm/PileupRenderer/index.js +1 -0
  258. package/esm/PileupRenderer/index.js.map +1 -1
  259. package/esm/PileupRenderer/sortUtil.d.ts +1 -1
  260. package/esm/PileupRenderer/sortUtil.js +1 -1
  261. package/esm/PileupRenderer/sortUtil.js.map +1 -1
  262. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +0 -51
  263. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +4 -183
  264. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  265. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +53 -0
  266. package/esm/SNPCoverageAdapter/generateCoverageBins.js +182 -0
  267. package/esm/SNPCoverageAdapter/generateCoverageBins.js.map +1 -0
  268. package/esm/SNPCoverageAdapter/index.js +1 -3
  269. package/esm/SNPCoverageAdapter/index.js.map +1 -1
  270. package/esm/index.d.ts +2 -2
  271. package/esm/index.js +10 -56
  272. package/esm/index.js.map +1 -1
  273. package/esm/{LinearPileupDisplay/components → shared}/FilterByTag.d.ts +0 -0
  274. package/esm/{LinearPileupDisplay/components → shared}/FilterByTag.js +6 -22
  275. package/esm/shared/FilterByTag.js.map +1 -0
  276. package/esm/shared/color.d.ts +17 -0
  277. package/esm/shared/color.js +37 -0
  278. package/esm/shared/color.js.map +1 -0
  279. package/esm/shared/fetchChains.d.ts +27 -0
  280. package/esm/shared/fetchChains.js +26 -0
  281. package/esm/shared/fetchChains.js.map +1 -0
  282. package/esm/shared/index.d.ts +36 -0
  283. package/esm/{shared.js → shared/index.js} +11 -1
  284. package/esm/shared/index.js.map +1 -0
  285. package/package.json +5 -5
  286. package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +1 -1
  287. package/src/AlignmentsTrack/index.ts +1 -0
  288. package/src/BamAdapter/BamSlightlyLazyFeature.ts +13 -19
  289. package/src/BamAdapter/index.ts +1 -0
  290. package/src/CramAdapter/CramSlightlyLazyFeature.ts +13 -15
  291. package/src/CramAdapter/CramTestAdapters.ts +1 -0
  292. package/src/CramAdapter/__snapshots__/CramAdapter.test.ts.snap +0 -10
  293. package/src/CramAdapter/index.ts +1 -0
  294. package/src/GuessAlignmentsTypes/index.ts +79 -0
  295. package/src/HtsgetBamAdapter/index.ts +11 -15
  296. package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +21 -29
  297. package/src/LinearAlignmentsDisplay/index.ts +1 -0
  298. package/src/LinearAlignmentsDisplay/models/configSchema.ts +2 -6
  299. package/src/LinearAlignmentsDisplay/models/model.tsx +238 -199
  300. package/src/LinearPileupDisplay/components/ColorByModifications.tsx +5 -34
  301. package/src/LinearPileupDisplay/components/ColorByTag.tsx +2 -29
  302. package/src/LinearPileupDisplay/components/SetFeatureHeight.tsx +5 -27
  303. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +2 -24
  304. package/src/LinearPileupDisplay/components/SortByTag.tsx +2 -31
  305. package/src/LinearPileupDisplay/configSchema.ts +1 -3
  306. package/src/LinearPileupDisplay/index.ts +2 -0
  307. package/src/LinearPileupDisplay/model.ts +36 -23
  308. package/src/LinearReadArcsDisplay/components/ReactComponent.tsx +86 -0
  309. package/src/LinearReadArcsDisplay/configSchema.ts +58 -0
  310. package/src/LinearReadArcsDisplay/declare.d.ts +1 -0
  311. package/src/LinearReadArcsDisplay/drawFeats.ts +199 -0
  312. package/src/LinearReadArcsDisplay/index.ts +23 -0
  313. package/src/LinearReadArcsDisplay/model.tsx +370 -0
  314. package/src/LinearReadCloudDisplay/components/ReactComponent.tsx +86 -0
  315. package/src/LinearReadCloudDisplay/configSchema.ts +57 -0
  316. package/src/LinearReadCloudDisplay/drawFeats.ts +201 -0
  317. package/src/LinearReadCloudDisplay/index.ts +23 -0
  318. package/src/LinearReadCloudDisplay/model.tsx +289 -0
  319. package/src/LinearSNPCoverageDisplay/index.ts +1 -0
  320. package/src/LinearSNPCoverageDisplay/models/model.ts +15 -21
  321. package/src/{BamAdapter/MismatchParser.test.ts → MismatchParser/index.test.ts} +1 -1
  322. package/src/{BamAdapter/MismatchParser.ts → MismatchParser/index.ts} +129 -2
  323. package/src/PileupRPC/base.ts +24 -0
  324. package/src/PileupRPC/index.ts +12 -0
  325. package/src/PileupRPC/methods/GetGlobalValueForTag.ts +41 -0
  326. package/src/PileupRPC/methods/GetReducedFeatures.ts +76 -0
  327. package/src/PileupRPC/methods/GetVisibleModifications.ts +45 -0
  328. package/src/PileupRPC/rpcMethods.ts +8 -113
  329. package/src/PileupRPC/util.ts +19 -0
  330. package/src/PileupRenderer/PileupRenderer.ts +5 -8
  331. package/src/PileupRenderer/configSchema.ts +1 -1
  332. package/src/PileupRenderer/index.ts +1 -0
  333. package/src/PileupRenderer/sortUtil.ts +2 -3
  334. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +5 -249
  335. package/src/SNPCoverageAdapter/generateCoverageBins.ts +245 -0
  336. package/src/SNPCoverageAdapter/index.ts +1 -3
  337. package/src/index.ts +12 -93
  338. package/src/{LinearPileupDisplay/components → shared}/FilterByTag.tsx +5 -31
  339. package/src/shared/color.ts +47 -0
  340. package/src/shared/fetchChains.ts +63 -0
  341. package/src/{shared.ts → shared/index.ts} +17 -4
  342. package/dist/BamAdapter/MismatchParser.js.map +0 -1
  343. package/dist/LinearPileupDisplay/components/FilterByTag.js.map +0 -1
  344. package/dist/shared.d.ts +0 -25
  345. package/dist/shared.js.map +0 -1
  346. package/esm/BamAdapter/MismatchParser.js.map +0 -1
  347. package/esm/LinearPileupDisplay/components/FilterByTag.js.map +0 -1
  348. package/esm/shared.d.ts +0 -25
  349. package/esm/shared.js.map +0 -1
@@ -0,0 +1,157 @@
1
+ import { getContainingView, getSession } from '@jbrowse/core/util';
2
+ // locals
3
+ import { getOrientationColor, getInsertSizeColor, getInsertSizeAndOrientationColor, } from '../shared/color';
4
+ import { featurizeSA } from '../MismatchParser';
5
+ export function hasPairedReads(features) {
6
+ for (const f of features.chains.values()) {
7
+ if (f[0].flags & 1) {
8
+ return true;
9
+ }
10
+ }
11
+ return false;
12
+ }
13
+ export default async function drawFeats(self, ctx) {
14
+ var _a;
15
+ const { chainData } = self;
16
+ if (!chainData) {
17
+ return;
18
+ }
19
+ const displayHeight = self.height;
20
+ const view = getContainingView(self);
21
+ const { assemblyManager } = getSession(self);
22
+ self.setLastDrawnOffsetPx(view.offsetPx);
23
+ ctx.lineWidth = self.lineWidthSetting;
24
+ const { chains, stats } = chainData;
25
+ const hasPaired = hasPairedReads(chainData);
26
+ const assemblyName = view.assemblyNames[0];
27
+ const asm = assemblyManager.get(assemblyName);
28
+ const type = ((_a = self.colorBy) === null || _a === void 0 ? void 0 : _a.type) || 'insertSizeAndOrientation';
29
+ function draw(k1, k2, longRange) {
30
+ const s1 = k1.strand;
31
+ const s2 = k2.strand;
32
+ const f1 = s1 === -1;
33
+ const f2 = s2 === -1;
34
+ const p1 = f1 ? k1.start : k1.end;
35
+ const p2 = hasPaired ? (f2 ? k2.start : k2.end) : f2 ? k2.end : k2.start;
36
+ const r1 = view.bpToPx({ refName: k1.refName, coord: p1 });
37
+ const r2 = view.bpToPx({ refName: k2.refName, coord: p2 });
38
+ if (r1 && r2) {
39
+ const radius = (r2.offsetPx - r1.offsetPx) / 2;
40
+ const absrad = Math.abs(radius);
41
+ const p = r1.offsetPx - view.offsetPx;
42
+ // bezier (used for non-long-range arcs) requires moveTo before beginPath
43
+ // arc (used for long-range) requires moveTo after beginPath (or else a
44
+ // unwanted line at y=0 is rendered along with the arc)
45
+ if (longRange) {
46
+ ctx.moveTo(p, 0);
47
+ ctx.beginPath();
48
+ }
49
+ else {
50
+ ctx.beginPath();
51
+ ctx.moveTo(p, 0);
52
+ }
53
+ if (longRange) {
54
+ ctx.strokeStyle = 'red';
55
+ }
56
+ else {
57
+ if (hasPaired) {
58
+ if (type === 'insertSizeAndOrientation') {
59
+ ctx.strokeStyle = getInsertSizeAndOrientationColor(k1, k2, stats);
60
+ }
61
+ else if (type === 'orientation') {
62
+ ctx.strokeStyle = getOrientationColor(k1);
63
+ }
64
+ else if (type === 'insertSize') {
65
+ ctx.strokeStyle = getInsertSizeColor(k1, k2, stats) || 'grey';
66
+ }
67
+ else if (type === 'gradient') {
68
+ ctx.strokeStyle = `hsl(${Math.log10(Math.abs(p1 - p2)) * 10},50%,50%)`;
69
+ }
70
+ }
71
+ else {
72
+ if (type === 'orientation' || type === 'insertSizeAndOrientation') {
73
+ if (s1 === -1 && s2 === 1) {
74
+ ctx.strokeStyle = 'navy';
75
+ }
76
+ else if (s1 === 1 && s2 === -1) {
77
+ ctx.strokeStyle = 'green';
78
+ }
79
+ else {
80
+ ctx.strokeStyle = 'grey';
81
+ }
82
+ }
83
+ else if (type === 'gradient') {
84
+ ctx.strokeStyle = `hsl(${Math.log10(Math.abs(p1 - p2)) * 10},50%,50%)`;
85
+ }
86
+ }
87
+ }
88
+ const destX = p + radius * 2;
89
+ const destY = Math.min(displayHeight, absrad);
90
+ if (longRange) {
91
+ ctx.arc(p + radius, 0, absrad, 0, Math.PI);
92
+ }
93
+ else {
94
+ ctx.bezierCurveTo(p, destY, destX, destY, destX, 0);
95
+ }
96
+ ctx.stroke();
97
+ }
98
+ else if (r1 && self.drawInter) {
99
+ // draws a vertical line off to middle of nowhere if the second end not found
100
+ const p = r1.offsetPx - view.offsetPx;
101
+ ctx.strokeStyle = 'purple';
102
+ ctx.beginPath();
103
+ ctx.moveTo(p, 0);
104
+ ctx.lineTo(p, displayHeight);
105
+ ctx.stroke();
106
+ }
107
+ }
108
+ for (let i = 0; i < chains.length; i++) {
109
+ let chain = chains[i];
110
+ if (chain.length === 1 && self.drawLongRange) {
111
+ // singleton feature
112
+ const f = chain[0];
113
+ // special case where we look at RPOS/RNEXT
114
+ if (hasPaired) {
115
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
116
+ const refName = (asm === null || asm === void 0 ? void 0 : asm.getCanonicalRefName(f.next_ref)) || f.next_ref;
117
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
118
+ const coord = f.next_pos;
119
+ draw(f, {
120
+ refName,
121
+ start: coord,
122
+ end: coord,
123
+ strand: f.strand,
124
+ }, true);
125
+ }
126
+ // special case where we look at SA
127
+ else {
128
+ const suppAlns = featurizeSA(f.SA, f.id, f.strand, f.name);
129
+ const features = [f, ...suppAlns].sort((a, b) => a.clipPos - b.clipPos);
130
+ for (let i = 0; i < features.length - 1; i++) {
131
+ const f = features[i];
132
+ const v1 = features[i + 1];
133
+ draw(f, {
134
+ refName: (asm === null || asm === void 0 ? void 0 : asm.getCanonicalRefName(v1.refName)) || v1.refName,
135
+ start: v1.start,
136
+ end: v1.end,
137
+ strand: v1.strand,
138
+ }, true);
139
+ }
140
+ }
141
+ }
142
+ else {
143
+ if (!hasPaired) {
144
+ chain.sort((a, b) => a.clipPos - b.clipPos);
145
+ chain = chain.filter(f => !(f.flags & 256));
146
+ }
147
+ else {
148
+ // ignore split/supplementary reads for hasPaired=true for now
149
+ chain = chain.filter(f => !(f.flags & 2048));
150
+ }
151
+ for (let i = 0; i < chain.length - 1; i++) {
152
+ draw(chain[i], chain[i + 1], false);
153
+ }
154
+ }
155
+ }
156
+ }
157
+ //# sourceMappingURL=drawFeats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawFeats.js","sourceRoot":"","sources":["../../src/LinearReadArcsDisplay/drawFeats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function register(pluginManager: PluginManager): void;
@@ -0,0 +1,21 @@
1
+ import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
2
+ // locals
3
+ import ReactComponent from './components/ReactComponent';
4
+ import configSchemaF from './configSchema';
5
+ import stateModelF from './model';
6
+ export default function register(pluginManager) {
7
+ pluginManager.addDisplayType(() => {
8
+ const configSchema = configSchemaF(pluginManager);
9
+ return new DisplayType({
10
+ name: 'LinearReadArcsDisplay',
11
+ displayName: 'Arc display',
12
+ configSchema,
13
+ stateModel: stateModelF(configSchema),
14
+ trackType: 'AlignmentsTrack',
15
+ viewType: 'LinearGenomeView',
16
+ subDisplay: { type: 'LinearAlignmentsDisplay', lowerPanel: true },
17
+ ReactComponent,
18
+ });
19
+ });
20
+ }
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearReadArcsDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,SAAS;AACT,OAAO,cAAc,MAAM,6BAA6B,CAAA;AACxD,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAC1C,OAAO,WAAW,MAAM,SAAS,CAAA;AAEjC,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,aAA4B;IAC3D,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACjD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,aAAa;YAC1B,YAAY;YACZ,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC;YACrC,SAAS,EAAE,iBAAiB;YAC5B,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,IAAI,EAAE;YACjE,cAAc;SACf,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,342 @@
1
+ import React from 'react';
2
+ import { Instance } from 'mobx-state-tree';
3
+ import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
4
+ import { ChainData } from '../shared/fetchChains';
5
+ import { ExportSvgOptions } from '@jbrowse/plugin-linear-genome-view/src/LinearGenomeView';
6
+ interface Filter {
7
+ flagInclude: number;
8
+ flagExclude: number;
9
+ readName?: string;
10
+ tagFilter?: {
11
+ tag: string;
12
+ value: string;
13
+ };
14
+ }
15
+ /**
16
+ * #stateModel LinearReadArcsDisplay
17
+ * extends `BaseLinearDisplay`
18
+ */
19
+ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
20
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
21
+ type: import("mobx-state-tree").ISimpleType<string>;
22
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
23
+ } & {
24
+ height: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
25
+ blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
26
+ key: import("mobx-state-tree").ISimpleType<string>;
27
+ region: import("mobx-state-tree").IModelType<{
28
+ refName: import("mobx-state-tree").ISimpleType<string>;
29
+ start: import("mobx-state-tree").ISimpleType<number>;
30
+ end: import("mobx-state-tree").ISimpleType<number>;
31
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
32
+ } & {
33
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
34
+ }, {
35
+ setRefName(newRefName: string): void;
36
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
37
+ reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
38
+ isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
39
+ isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
40
+ }, {
41
+ renderInProgress: AbortController | undefined;
42
+ filled: boolean;
43
+ reactElement: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
44
+ features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
45
+ layout: any;
46
+ status: string;
47
+ error: unknown;
48
+ message: string | undefined;
49
+ maxHeightReached: boolean;
50
+ ReactComponent: ({ model, }: {
51
+ model: any;
52
+ }) => any;
53
+ renderProps: any;
54
+ } & {
55
+ doReload(): void;
56
+ afterAttach(): void;
57
+ setStatus(message: string): void;
58
+ setLoading(abortController: AbortController): void;
59
+ setMessage(messageText: string): void;
60
+ setRendered(props: {
61
+ reactElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
62
+ features: Map<string, import("@jbrowse/core/util").Feature>;
63
+ layout: any; /**
64
+ * #action
65
+ */
66
+ maxHeightReached: boolean;
67
+ renderProps: any;
68
+ } | undefined): void;
69
+ setError(error: unknown): void;
70
+ reload(): void;
71
+ beforeDestroy(): void;
72
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
73
+ userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
74
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
75
+ } & {
76
+ type: import("mobx-state-tree").ISimpleType<"LinearReadArcsDisplay">;
77
+ configuration: import("mobx-state-tree").ITypeUnion<any, any, any>;
78
+ filterBy: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
79
+ flagInclude: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
80
+ flagExclude: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
81
+ readName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
82
+ tagFilter: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
83
+ tag: import("mobx-state-tree").ISimpleType<string>;
84
+ value: import("mobx-state-tree").ISimpleType<string>;
85
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
86
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
87
+ lineWidth: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
88
+ colorBy: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
89
+ type: import("mobx-state-tree").ISimpleType<string>;
90
+ tag: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
91
+ extra: import("mobx-state-tree").IType<any, any, any>;
92
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
93
+ drawInter: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
94
+ drawLongRange: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
95
+ }, {
96
+ rendererTypeName: string;
97
+ error: unknown; /**
98
+ * #action
99
+ * thin, bold, extrabold, etc
100
+ */
101
+ } & {
102
+ readonly RenderingComponent: React.FC<{
103
+ model: {
104
+ id: string;
105
+ type: string;
106
+ rpcDriverName: string | undefined;
107
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
108
+ rendererTypeName: string;
109
+ error: unknown; /**
110
+ * #getter
111
+ */
112
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
113
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
114
+ type: import("mobx-state-tree").ISimpleType<string>;
115
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
116
+ }, {
117
+ rendererTypeName: string;
118
+ error: unknown;
119
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
120
+ onHorizontalScroll?: Function | undefined;
121
+ blockState?: Record<string, any> | undefined;
122
+ }>;
123
+ readonly DisplayBlurb: React.FC<{
124
+ model: {
125
+ id: string;
126
+ type: string;
127
+ rpcDriverName: string | undefined;
128
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
129
+ rendererTypeName: string;
130
+ error: unknown;
131
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
132
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
133
+ type: import("mobx-state-tree").ISimpleType<string>;
134
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
135
+ }, {
136
+ rendererTypeName: string;
137
+ error: unknown;
138
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
139
+ }> | null;
140
+ readonly adapterConfig: any;
141
+ readonly parentTrack: any;
142
+ renderProps(): any;
143
+ readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
144
+ readonly DisplayMessageComponent: React.FC<any> | undefined;
145
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
146
+ readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
147
+ regionCannotBeRendered(): undefined;
148
+ } & {
149
+ setError(error?: unknown): void;
150
+ setRpcDriverName(rpcDriverName: string): void;
151
+ reload(): void;
152
+ } & {
153
+ currBpPerPx: number;
154
+ scrollTop: number;
155
+ message: string;
156
+ featureIdUnderMouse: string | undefined;
157
+ contextMenuFeature: import("@jbrowse/core/util").Feature | undefined;
158
+ estimatedRegionStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined;
159
+ estimatedRegionStats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined;
160
+ } & {
161
+ readonly blockType: "dynamicBlocks" | "staticBlocks";
162
+ readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
163
+ } & {
164
+ readonly renderDelay: number;
165
+ readonly TooltipComponent: React.FC<any>;
166
+ readonly selectedFeatureId: string | undefined;
167
+ readonly DisplayMessageComponent: React.FC<any> | undefined;
168
+ } & {
169
+ readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>;
170
+ readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined;
171
+ getFeatureOverlapping(blockKey: string, x: number, y: number): any;
172
+ getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
173
+ searchFeatureByID(id: string): [number, number, number, number] | undefined;
174
+ readonly currentBytesRequested: number;
175
+ readonly currentFeatureScreenDensity: number;
176
+ readonly maxFeatureScreenDensity: any;
177
+ readonly estimatedStatsReady: boolean;
178
+ readonly maxAllowableBytes: number;
179
+ } & {
180
+ setMessage(message: string): void;
181
+ afterAttach(): void;
182
+ estimateRegionsStats(regions: import("@jbrowse/core/util").Region[], opts: {
183
+ headers?: Record<string, string> | undefined;
184
+ signal?: AbortSignal | undefined;
185
+ filters?: string[] | undefined;
186
+ }): Promise<{}>;
187
+ setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
188
+ setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
189
+ clearRegionStats(): void;
190
+ setHeight(displayHeight: number): number;
191
+ resizeHeight(distance: number): number;
192
+ setScrollTop(scrollTop: number): void;
193
+ updateStatsLimit(stats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats): void;
194
+ addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
195
+ setCurrBpPerPx(n: number): void;
196
+ deleteBlock(key: string): void;
197
+ selectFeature(feature: import("@jbrowse/core/util").Feature): void;
198
+ clearFeatureSelection(): void;
199
+ setFeatureIdUnderMouse(feature: string | undefined): void;
200
+ reload(): void;
201
+ setContextMenuFeature(feature?: import("@jbrowse/core/util").Feature | undefined): void;
202
+ } & {
203
+ readonly regionTooLarge: boolean;
204
+ readonly regionTooLargeReason: string;
205
+ } & {
206
+ reload(): Promise<void>;
207
+ afterAttach(): void;
208
+ } & {
209
+ regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
210
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | null;
211
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
212
+ contextMenuItems(): {
213
+ label: string;
214
+ icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
215
+ muiName: string;
216
+ };
217
+ onClick: () => void;
218
+ }[];
219
+ renderProps(): any;
220
+ } & {
221
+ renderSvg(opts: ExportSvgOptions & {
222
+ overrideHeight: number;
223
+ }): Promise<JSX.Element>;
224
+ } & {
225
+ loading: boolean;
226
+ drawn: boolean;
227
+ chainData: ChainData | undefined;
228
+ ref: HTMLCanvasElement | null;
229
+ lastDrawnOffsetPx: number;
230
+ } & {
231
+ /**
232
+ * #action
233
+ * internal, a reference to a HTMLCanvas because we use a autorun to draw the canvas
234
+ */
235
+ reload(): void;
236
+ /**
237
+ * #action
238
+ * internal, a reference to a HTMLCanvas because we use a autorun to draw the canvas
239
+ */
240
+ setRef(ref: HTMLCanvasElement | null): void;
241
+ /**
242
+ * #action
243
+ */
244
+ setColorScheme(s: {
245
+ type: string;
246
+ }): void;
247
+ /**
248
+ * #action
249
+ */
250
+ setChainData(args: ChainData): void;
251
+ /**
252
+ * #action
253
+ */
254
+ setDrawInter(f: boolean): void;
255
+ /**
256
+ * #action
257
+ */
258
+ setDrawLongRange(f: boolean): void;
259
+ /**
260
+ * #action
261
+ */
262
+ setLoading(f: boolean): void;
263
+ /**
264
+ * #action
265
+ * used during tests to detect when we can complete a snapshot test
266
+ */
267
+ setDrawn(f: boolean): void;
268
+ /**
269
+ * #action
270
+ */
271
+ setFilterBy(filter: Filter): void;
272
+ /**
273
+ * #action
274
+ * allows the drawing to slide around a little bit if it takes a long time to refresh
275
+ */
276
+ setLastDrawnOffsetPx(n: number): void;
277
+ /**
278
+ * #action
279
+ * thin, bold, extrabold, etc
280
+ */
281
+ setLineWidth(n: number): void;
282
+ } & {
283
+ /**
284
+ * #getter
285
+ */
286
+ readonly lineWidthSetting: any;
287
+ /**
288
+ * #getter
289
+ */
290
+ readonly ready: boolean;
291
+ readonly rendererTypeName: string;
292
+ renderProps(): any;
293
+ /**
294
+ * #method
295
+ */
296
+ trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
297
+ label: string;
298
+ icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
299
+ muiName: string;
300
+ };
301
+ onClick: () => void;
302
+ type?: undefined;
303
+ checked?: undefined;
304
+ subMenu?: undefined;
305
+ } | {
306
+ label: string;
307
+ type: string;
308
+ checked: boolean;
309
+ onClick: () => void;
310
+ icon?: undefined;
311
+ subMenu?: undefined;
312
+ } | {
313
+ label: string;
314
+ icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
315
+ muiName: string;
316
+ };
317
+ subMenu: {
318
+ label: string;
319
+ onClick: () => void;
320
+ }[];
321
+ onClick?: undefined;
322
+ type?: undefined;
323
+ checked?: undefined;
324
+ })[];
325
+ } & {
326
+ /**
327
+ * #method
328
+ */
329
+ renderSvg(opts: ExportSvgOptions): Promise<JSX.Element | undefined>;
330
+ } & {
331
+ afterAttach(): void;
332
+ }, import("mobx-state-tree")._NotCustomized, {
333
+ type: string;
334
+ height: number;
335
+ id: string;
336
+ rpcDriverName: string | undefined;
337
+ userBpPerPxLimit: number | undefined;
338
+ userByteSizeLimit: number | undefined;
339
+ } & import("mobx-state-tree")._NotCustomized>;
340
+ export type LinearReadArcsDisplayStateModel = ReturnType<typeof stateModelFactory>;
341
+ export type LinearReadArcsDisplayModel = Instance<LinearReadArcsDisplayStateModel>;
342
+ export default stateModelFactory;