@jbrowse/plugin-alignments 2.6.1 → 2.6.3

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 (534) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +0 -1
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +0 -1
  3. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js +0 -1
  4. package/dist/AlignmentsFeatureDetail/index.js +0 -1
  5. package/dist/AlignmentsFeatureDetail/util.js +0 -1
  6. package/dist/AlignmentsTrack/configSchemaF.js +0 -1
  7. package/dist/AlignmentsTrack/index.js +0 -1
  8. package/dist/BamAdapter/BamAdapter.js +0 -1
  9. package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -1
  10. package/dist/BamAdapter/configSchema.js +0 -1
  11. package/dist/BamAdapter/index.js +0 -1
  12. package/dist/CramAdapter/CramAdapter.js +0 -1
  13. package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -1
  14. package/dist/CramAdapter/CramTestAdapters.js +0 -1
  15. package/dist/CramAdapter/configSchema.js +0 -1
  16. package/dist/CramAdapter/index.js +0 -1
  17. package/dist/CramAdapter/util.js +0 -1
  18. package/dist/GuessAlignmentsTypes/index.js +0 -1
  19. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +0 -1
  20. package/dist/HtsgetBamAdapter/configSchema.js +0 -1
  21. package/dist/HtsgetBamAdapter/index.js +0 -1
  22. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
  23. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +5 -2
  24. package/dist/LinearAlignmentsDisplay/index.js +0 -1
  25. package/dist/LinearAlignmentsDisplay/models/configSchema.js +0 -1
  26. package/dist/LinearAlignmentsDisplay/models/model.js +5 -2
  27. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +492 -0
  28. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +529 -0
  29. package/dist/LinearPileupDisplay/components/ColorByModifications.js +0 -1
  30. package/dist/LinearPileupDisplay/components/ColorByTag.js +0 -1
  31. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +0 -1
  32. package/dist/LinearPileupDisplay/components/ModificationsTable.js +0 -1
  33. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +0 -1
  34. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +0 -1
  35. package/dist/LinearPileupDisplay/components/SortByTag.js +0 -1
  36. package/dist/LinearPileupDisplay/configSchema.js +0 -1
  37. package/dist/LinearPileupDisplay/index.d.ts +1 -0
  38. package/dist/LinearPileupDisplay/index.js +3 -2
  39. package/dist/LinearPileupDisplay/model.d.ts +110 -231
  40. package/dist/LinearPileupDisplay/model.js +47 -445
  41. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +0 -1
  42. package/dist/LinearReadArcsDisplay/configSchema.js +0 -1
  43. package/dist/LinearReadArcsDisplay/drawFeats.js +0 -1
  44. package/dist/LinearReadArcsDisplay/index.js +0 -1
  45. package/dist/LinearReadArcsDisplay/model.js +0 -1
  46. package/dist/LinearReadArcsDisplay/util.js +0 -1
  47. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +0 -1
  48. package/dist/LinearReadCloudDisplay/configSchema.d.ts +4 -4
  49. package/dist/LinearReadCloudDisplay/configSchema.js +0 -1
  50. package/dist/LinearReadCloudDisplay/drawFeats.js +0 -1
  51. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +0 -1
  52. package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -1
  53. package/dist/LinearReadCloudDisplay/index.js +0 -1
  54. package/dist/LinearReadCloudDisplay/model.d.ts +1 -3
  55. package/dist/LinearReadCloudDisplay/model.js +0 -1
  56. package/dist/LinearReadCloudDisplay/util.js +0 -1
  57. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +0 -1
  58. package/dist/LinearSNPCoverageDisplay/index.js +0 -1
  59. package/dist/LinearSNPCoverageDisplay/models/configSchema.d.ts +3 -0
  60. package/dist/LinearSNPCoverageDisplay/models/configSchema.js +0 -1
  61. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +31 -15
  62. package/dist/LinearSNPCoverageDisplay/models/model.js +0 -1
  63. package/dist/MismatchParser/index.js +0 -1
  64. package/dist/PileupRPC/base.js +0 -1
  65. package/dist/PileupRPC/index.js +0 -1
  66. package/dist/PileupRPC/methods/GetGlobalValueForTag.js +0 -1
  67. package/dist/PileupRPC/methods/GetReducedFeatures.js +0 -1
  68. package/dist/PileupRPC/methods/GetVisibleModifications.js +0 -1
  69. package/dist/PileupRPC/rpcMethods.js +0 -1
  70. package/dist/PileupRPC/util.js +0 -1
  71. package/dist/PileupRenderer/PileupLayoutSession.js +0 -1
  72. package/dist/PileupRenderer/PileupRenderer.js +0 -1
  73. package/dist/PileupRenderer/colorBy.js +8 -7
  74. package/dist/PileupRenderer/components/PileupRendering.js +0 -1
  75. package/dist/PileupRenderer/configSchema.js +0 -1
  76. package/dist/PileupRenderer/getAlignmentShapeColor.js +0 -1
  77. package/dist/PileupRenderer/index.js +0 -1
  78. package/dist/PileupRenderer/layoutFeature.js +0 -1
  79. package/dist/PileupRenderer/layoutFeatures.js +0 -1
  80. package/dist/PileupRenderer/makeImageData.js +0 -1
  81. package/dist/PileupRenderer/renderAlignment.js +0 -1
  82. package/dist/PileupRenderer/renderAlignmentShape.js +1 -2
  83. package/dist/PileupRenderer/renderMethylation.js +0 -1
  84. package/dist/PileupRenderer/renderMismatches.js +0 -1
  85. package/dist/PileupRenderer/renderModifications.js +0 -1
  86. package/dist/PileupRenderer/renderPerBaseLettering.js +0 -1
  87. package/dist/PileupRenderer/renderPerBaseQuality.js +0 -1
  88. package/dist/PileupRenderer/renderSoftClipping.js +0 -1
  89. package/dist/PileupRenderer/sortUtil.js +0 -1
  90. package/dist/PileupRenderer/util.js +0 -1
  91. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +0 -1
  92. package/dist/SNPCoverageAdapter/configSchema.js +0 -1
  93. package/dist/SNPCoverageAdapter/generateCoverageBins.js +0 -1
  94. package/dist/SNPCoverageAdapter/index.js +0 -1
  95. package/dist/SNPCoverageAdapter/util.js +0 -1
  96. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +0 -1
  97. package/dist/SNPCoverageRenderer/configSchema.js +0 -1
  98. package/dist/SNPCoverageRenderer/index.js +0 -1
  99. package/dist/index.d.ts +1 -1
  100. package/dist/index.js +2 -2
  101. package/dist/shared/BaseDisplayComponent.js +0 -1
  102. package/dist/shared/FilterByTag.js +0 -1
  103. package/dist/shared/afterAttach.js +0 -1
  104. package/dist/shared/color.d.ts +10 -0
  105. package/dist/shared/color.js +7 -2
  106. package/dist/shared/fetchChains.js +0 -1
  107. package/dist/shared/index.js +0 -1
  108. package/dist/shared/renderSvg.js +0 -1
  109. package/dist/shared/util.js +0 -1
  110. package/dist/util.js +0 -1
  111. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +0 -1
  112. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +0 -1
  113. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js +0 -1
  114. package/esm/AlignmentsFeatureDetail/index.js +0 -1
  115. package/esm/AlignmentsFeatureDetail/util.js +0 -1
  116. package/esm/AlignmentsTrack/configSchemaF.js +0 -1
  117. package/esm/AlignmentsTrack/index.js +0 -1
  118. package/esm/BamAdapter/BamAdapter.js +0 -1
  119. package/esm/BamAdapter/BamSlightlyLazyFeature.js +0 -1
  120. package/esm/BamAdapter/configSchema.js +0 -1
  121. package/esm/BamAdapter/index.js +0 -1
  122. package/esm/CramAdapter/CramAdapter.js +0 -1
  123. package/esm/CramAdapter/CramSlightlyLazyFeature.js +0 -1
  124. package/esm/CramAdapter/CramTestAdapters.js +0 -1
  125. package/esm/CramAdapter/configSchema.js +0 -1
  126. package/esm/CramAdapter/index.js +0 -1
  127. package/esm/CramAdapter/util.js +0 -1
  128. package/esm/GuessAlignmentsTypes/index.js +0 -1
  129. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js +0 -1
  130. package/esm/HtsgetBamAdapter/configSchema.js +0 -1
  131. package/esm/HtsgetBamAdapter/index.js +0 -1
  132. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
  133. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +5 -2
  134. package/esm/LinearAlignmentsDisplay/index.js +0 -1
  135. package/esm/LinearAlignmentsDisplay/models/configSchema.js +0 -1
  136. package/esm/LinearAlignmentsDisplay/models/model.js +5 -2
  137. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +492 -0
  138. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +499 -0
  139. package/esm/LinearPileupDisplay/components/ColorByModifications.js +0 -1
  140. package/esm/LinearPileupDisplay/components/ColorByTag.js +0 -1
  141. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +0 -1
  142. package/esm/LinearPileupDisplay/components/ModificationsTable.js +0 -1
  143. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js +0 -1
  144. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +0 -1
  145. package/esm/LinearPileupDisplay/components/SortByTag.js +0 -1
  146. package/esm/LinearPileupDisplay/configSchema.js +0 -1
  147. package/esm/LinearPileupDisplay/index.d.ts +1 -0
  148. package/esm/LinearPileupDisplay/index.js +1 -1
  149. package/esm/LinearPileupDisplay/model.d.ts +110 -231
  150. package/esm/LinearPileupDisplay/model.js +48 -446
  151. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +0 -1
  152. package/esm/LinearReadArcsDisplay/configSchema.js +0 -1
  153. package/esm/LinearReadArcsDisplay/drawFeats.js +0 -1
  154. package/esm/LinearReadArcsDisplay/index.js +0 -1
  155. package/esm/LinearReadArcsDisplay/model.js +0 -1
  156. package/esm/LinearReadArcsDisplay/util.js +0 -1
  157. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +0 -1
  158. package/esm/LinearReadCloudDisplay/configSchema.d.ts +4 -4
  159. package/esm/LinearReadCloudDisplay/configSchema.js +0 -1
  160. package/esm/LinearReadCloudDisplay/drawFeats.js +0 -1
  161. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +0 -1
  162. package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -1
  163. package/esm/LinearReadCloudDisplay/index.js +0 -1
  164. package/esm/LinearReadCloudDisplay/model.d.ts +1 -3
  165. package/esm/LinearReadCloudDisplay/model.js +0 -1
  166. package/esm/LinearReadCloudDisplay/util.js +0 -1
  167. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +0 -1
  168. package/esm/LinearSNPCoverageDisplay/index.js +0 -1
  169. package/esm/LinearSNPCoverageDisplay/models/configSchema.d.ts +3 -0
  170. package/esm/LinearSNPCoverageDisplay/models/configSchema.js +0 -1
  171. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +31 -15
  172. package/esm/LinearSNPCoverageDisplay/models/model.js +0 -1
  173. package/esm/MismatchParser/index.js +0 -1
  174. package/esm/PileupRPC/base.js +0 -1
  175. package/esm/PileupRPC/index.js +0 -1
  176. package/esm/PileupRPC/methods/GetGlobalValueForTag.js +0 -1
  177. package/esm/PileupRPC/methods/GetReducedFeatures.js +0 -1
  178. package/esm/PileupRPC/methods/GetVisibleModifications.js +0 -1
  179. package/esm/PileupRPC/rpcMethods.js +0 -1
  180. package/esm/PileupRPC/util.js +0 -1
  181. package/esm/PileupRenderer/PileupLayoutSession.js +0 -1
  182. package/esm/PileupRenderer/PileupRenderer.js +0 -1
  183. package/esm/PileupRenderer/colorBy.js +8 -7
  184. package/esm/PileupRenderer/components/PileupRendering.js +0 -1
  185. package/esm/PileupRenderer/configSchema.js +0 -1
  186. package/esm/PileupRenderer/getAlignmentShapeColor.js +0 -1
  187. package/esm/PileupRenderer/index.js +0 -1
  188. package/esm/PileupRenderer/layoutFeature.js +0 -1
  189. package/esm/PileupRenderer/layoutFeatures.js +0 -1
  190. package/esm/PileupRenderer/makeImageData.js +0 -1
  191. package/esm/PileupRenderer/renderAlignment.js +0 -1
  192. package/esm/PileupRenderer/renderAlignmentShape.js +1 -2
  193. package/esm/PileupRenderer/renderMethylation.js +0 -1
  194. package/esm/PileupRenderer/renderMismatches.js +0 -1
  195. package/esm/PileupRenderer/renderModifications.js +0 -1
  196. package/esm/PileupRenderer/renderPerBaseLettering.js +0 -1
  197. package/esm/PileupRenderer/renderPerBaseQuality.js +0 -1
  198. package/esm/PileupRenderer/renderSoftClipping.js +0 -1
  199. package/esm/PileupRenderer/sortUtil.js +0 -1
  200. package/esm/PileupRenderer/util.js +0 -1
  201. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +0 -1
  202. package/esm/SNPCoverageAdapter/configSchema.js +0 -1
  203. package/esm/SNPCoverageAdapter/generateCoverageBins.js +0 -1
  204. package/esm/SNPCoverageAdapter/index.js +0 -1
  205. package/esm/SNPCoverageAdapter/util.js +0 -1
  206. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +0 -1
  207. package/esm/SNPCoverageRenderer/configSchema.js +0 -1
  208. package/esm/SNPCoverageRenderer/index.js +0 -1
  209. package/esm/index.d.ts +1 -1
  210. package/esm/index.js +1 -2
  211. package/esm/shared/BaseDisplayComponent.js +0 -1
  212. package/esm/shared/FilterByTag.js +0 -1
  213. package/esm/shared/afterAttach.js +0 -1
  214. package/esm/shared/color.d.ts +10 -0
  215. package/esm/shared/color.js +6 -1
  216. package/esm/shared/fetchChains.js +0 -1
  217. package/esm/shared/index.js +0 -1
  218. package/esm/shared/renderSvg.js +0 -1
  219. package/esm/shared/util.js +0 -1
  220. package/esm/util.js +0 -1
  221. package/package.json +4 -5
  222. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +0 -1
  223. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +0 -1
  224. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js.map +0 -1
  225. package/dist/AlignmentsFeatureDetail/index.js.map +0 -1
  226. package/dist/AlignmentsFeatureDetail/util.js.map +0 -1
  227. package/dist/AlignmentsTrack/configSchemaF.js.map +0 -1
  228. package/dist/AlignmentsTrack/index.js.map +0 -1
  229. package/dist/BamAdapter/BamAdapter.js.map +0 -1
  230. package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +0 -1
  231. package/dist/BamAdapter/configSchema.js.map +0 -1
  232. package/dist/BamAdapter/index.js.map +0 -1
  233. package/dist/CramAdapter/CramAdapter.js.map +0 -1
  234. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +0 -1
  235. package/dist/CramAdapter/CramTestAdapters.js.map +0 -1
  236. package/dist/CramAdapter/configSchema.js.map +0 -1
  237. package/dist/CramAdapter/index.js.map +0 -1
  238. package/dist/CramAdapter/util.js.map +0 -1
  239. package/dist/GuessAlignmentsTypes/index.js.map +0 -1
  240. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js.map +0 -1
  241. package/dist/HtsgetBamAdapter/configSchema.js.map +0 -1
  242. package/dist/HtsgetBamAdapter/index.js.map +0 -1
  243. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +0 -1
  244. package/dist/LinearAlignmentsDisplay/index.js.map +0 -1
  245. package/dist/LinearAlignmentsDisplay/models/configSchema.js.map +0 -1
  246. package/dist/LinearAlignmentsDisplay/models/model.js.map +0 -1
  247. package/dist/LinearPileupDisplay/components/ColorByModifications.js.map +0 -1
  248. package/dist/LinearPileupDisplay/components/ColorByTag.js.map +0 -1
  249. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +0 -1
  250. package/dist/LinearPileupDisplay/components/ModificationsTable.js.map +0 -1
  251. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js.map +0 -1
  252. package/dist/LinearPileupDisplay/components/SetMaxHeight.js.map +0 -1
  253. package/dist/LinearPileupDisplay/components/SortByTag.js.map +0 -1
  254. package/dist/LinearPileupDisplay/configSchema.js.map +0 -1
  255. package/dist/LinearPileupDisplay/index.js.map +0 -1
  256. package/dist/LinearPileupDisplay/model.js.map +0 -1
  257. package/dist/LinearReadArcsDisplay/components/ReactComponent.js.map +0 -1
  258. package/dist/LinearReadArcsDisplay/configSchema.js.map +0 -1
  259. package/dist/LinearReadArcsDisplay/drawFeats.js.map +0 -1
  260. package/dist/LinearReadArcsDisplay/index.js.map +0 -1
  261. package/dist/LinearReadArcsDisplay/model.js.map +0 -1
  262. package/dist/LinearReadArcsDisplay/util.js.map +0 -1
  263. package/dist/LinearReadCloudDisplay/components/ReactComponent.js.map +0 -1
  264. package/dist/LinearReadCloudDisplay/configSchema.js.map +0 -1
  265. package/dist/LinearReadCloudDisplay/drawFeats.js.map +0 -1
  266. package/dist/LinearReadCloudDisplay/drawLongReadChains.js.map +0 -1
  267. package/dist/LinearReadCloudDisplay/drawPairChains.js.map +0 -1
  268. package/dist/LinearReadCloudDisplay/index.js.map +0 -1
  269. package/dist/LinearReadCloudDisplay/model.js.map +0 -1
  270. package/dist/LinearReadCloudDisplay/util.js.map +0 -1
  271. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js.map +0 -1
  272. package/dist/LinearSNPCoverageDisplay/index.js.map +0 -1
  273. package/dist/LinearSNPCoverageDisplay/models/configSchema.js.map +0 -1
  274. package/dist/LinearSNPCoverageDisplay/models/model.js.map +0 -1
  275. package/dist/MismatchParser/index.js.map +0 -1
  276. package/dist/PileupRPC/base.js.map +0 -1
  277. package/dist/PileupRPC/index.js.map +0 -1
  278. package/dist/PileupRPC/methods/GetGlobalValueForTag.js.map +0 -1
  279. package/dist/PileupRPC/methods/GetReducedFeatures.js.map +0 -1
  280. package/dist/PileupRPC/methods/GetVisibleModifications.js.map +0 -1
  281. package/dist/PileupRPC/rpcMethods.js.map +0 -1
  282. package/dist/PileupRPC/util.js.map +0 -1
  283. package/dist/PileupRenderer/PileupLayoutSession.js.map +0 -1
  284. package/dist/PileupRenderer/PileupRenderer.js.map +0 -1
  285. package/dist/PileupRenderer/colorBy.js.map +0 -1
  286. package/dist/PileupRenderer/components/PileupRendering.js.map +0 -1
  287. package/dist/PileupRenderer/configSchema.js.map +0 -1
  288. package/dist/PileupRenderer/getAlignmentShapeColor.js.map +0 -1
  289. package/dist/PileupRenderer/index.js.map +0 -1
  290. package/dist/PileupRenderer/layoutFeature.js.map +0 -1
  291. package/dist/PileupRenderer/layoutFeatures.js.map +0 -1
  292. package/dist/PileupRenderer/makeImageData.js.map +0 -1
  293. package/dist/PileupRenderer/renderAlignment.js.map +0 -1
  294. package/dist/PileupRenderer/renderAlignmentShape.js.map +0 -1
  295. package/dist/PileupRenderer/renderMethylation.js.map +0 -1
  296. package/dist/PileupRenderer/renderMismatches.js.map +0 -1
  297. package/dist/PileupRenderer/renderModifications.js.map +0 -1
  298. package/dist/PileupRenderer/renderPerBaseLettering.js.map +0 -1
  299. package/dist/PileupRenderer/renderPerBaseQuality.js.map +0 -1
  300. package/dist/PileupRenderer/renderSoftClipping.js.map +0 -1
  301. package/dist/PileupRenderer/sortUtil.js.map +0 -1
  302. package/dist/PileupRenderer/util.js.map +0 -1
  303. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +0 -1
  304. package/dist/SNPCoverageAdapter/configSchema.js.map +0 -1
  305. package/dist/SNPCoverageAdapter/generateCoverageBins.js.map +0 -1
  306. package/dist/SNPCoverageAdapter/index.js.map +0 -1
  307. package/dist/SNPCoverageAdapter/util.js.map +0 -1
  308. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js.map +0 -1
  309. package/dist/SNPCoverageRenderer/configSchema.js.map +0 -1
  310. package/dist/SNPCoverageRenderer/index.js.map +0 -1
  311. package/dist/index.js.map +0 -1
  312. package/dist/shared/BaseDisplayComponent.js.map +0 -1
  313. package/dist/shared/FilterByTag.js.map +0 -1
  314. package/dist/shared/afterAttach.js.map +0 -1
  315. package/dist/shared/color.js.map +0 -1
  316. package/dist/shared/fetchChains.js.map +0 -1
  317. package/dist/shared/index.js.map +0 -1
  318. package/dist/shared/renderSvg.js.map +0 -1
  319. package/dist/shared/util.js.map +0 -1
  320. package/dist/util.js.map +0 -1
  321. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +0 -1
  322. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +0 -1
  323. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.js.map +0 -1
  324. package/esm/AlignmentsFeatureDetail/index.js.map +0 -1
  325. package/esm/AlignmentsFeatureDetail/util.js.map +0 -1
  326. package/esm/AlignmentsTrack/configSchemaF.js.map +0 -1
  327. package/esm/AlignmentsTrack/index.js.map +0 -1
  328. package/esm/BamAdapter/BamAdapter.js.map +0 -1
  329. package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +0 -1
  330. package/esm/BamAdapter/configSchema.js.map +0 -1
  331. package/esm/BamAdapter/index.js.map +0 -1
  332. package/esm/CramAdapter/CramAdapter.js.map +0 -1
  333. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +0 -1
  334. package/esm/CramAdapter/CramTestAdapters.js.map +0 -1
  335. package/esm/CramAdapter/configSchema.js.map +0 -1
  336. package/esm/CramAdapter/index.js.map +0 -1
  337. package/esm/CramAdapter/util.js.map +0 -1
  338. package/esm/GuessAlignmentsTypes/index.js.map +0 -1
  339. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js.map +0 -1
  340. package/esm/HtsgetBamAdapter/configSchema.js.map +0 -1
  341. package/esm/HtsgetBamAdapter/index.js.map +0 -1
  342. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +0 -1
  343. package/esm/LinearAlignmentsDisplay/index.js.map +0 -1
  344. package/esm/LinearAlignmentsDisplay/models/configSchema.js.map +0 -1
  345. package/esm/LinearAlignmentsDisplay/models/model.js.map +0 -1
  346. package/esm/LinearPileupDisplay/components/ColorByModifications.js.map +0 -1
  347. package/esm/LinearPileupDisplay/components/ColorByTag.js.map +0 -1
  348. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +0 -1
  349. package/esm/LinearPileupDisplay/components/ModificationsTable.js.map +0 -1
  350. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js.map +0 -1
  351. package/esm/LinearPileupDisplay/components/SetMaxHeight.js.map +0 -1
  352. package/esm/LinearPileupDisplay/components/SortByTag.js.map +0 -1
  353. package/esm/LinearPileupDisplay/configSchema.js.map +0 -1
  354. package/esm/LinearPileupDisplay/index.js.map +0 -1
  355. package/esm/LinearPileupDisplay/model.js.map +0 -1
  356. package/esm/LinearReadArcsDisplay/components/ReactComponent.js.map +0 -1
  357. package/esm/LinearReadArcsDisplay/configSchema.js.map +0 -1
  358. package/esm/LinearReadArcsDisplay/drawFeats.js.map +0 -1
  359. package/esm/LinearReadArcsDisplay/index.js.map +0 -1
  360. package/esm/LinearReadArcsDisplay/model.js.map +0 -1
  361. package/esm/LinearReadArcsDisplay/util.js.map +0 -1
  362. package/esm/LinearReadCloudDisplay/components/ReactComponent.js.map +0 -1
  363. package/esm/LinearReadCloudDisplay/configSchema.js.map +0 -1
  364. package/esm/LinearReadCloudDisplay/drawFeats.js.map +0 -1
  365. package/esm/LinearReadCloudDisplay/drawLongReadChains.js.map +0 -1
  366. package/esm/LinearReadCloudDisplay/drawPairChains.js.map +0 -1
  367. package/esm/LinearReadCloudDisplay/index.js.map +0 -1
  368. package/esm/LinearReadCloudDisplay/model.js.map +0 -1
  369. package/esm/LinearReadCloudDisplay/util.js.map +0 -1
  370. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js.map +0 -1
  371. package/esm/LinearSNPCoverageDisplay/index.js.map +0 -1
  372. package/esm/LinearSNPCoverageDisplay/models/configSchema.js.map +0 -1
  373. package/esm/LinearSNPCoverageDisplay/models/model.js.map +0 -1
  374. package/esm/MismatchParser/index.js.map +0 -1
  375. package/esm/PileupRPC/base.js.map +0 -1
  376. package/esm/PileupRPC/index.js.map +0 -1
  377. package/esm/PileupRPC/methods/GetGlobalValueForTag.js.map +0 -1
  378. package/esm/PileupRPC/methods/GetReducedFeatures.js.map +0 -1
  379. package/esm/PileupRPC/methods/GetVisibleModifications.js.map +0 -1
  380. package/esm/PileupRPC/rpcMethods.js.map +0 -1
  381. package/esm/PileupRPC/util.js.map +0 -1
  382. package/esm/PileupRenderer/PileupLayoutSession.js.map +0 -1
  383. package/esm/PileupRenderer/PileupRenderer.js.map +0 -1
  384. package/esm/PileupRenderer/colorBy.js.map +0 -1
  385. package/esm/PileupRenderer/components/PileupRendering.js.map +0 -1
  386. package/esm/PileupRenderer/configSchema.js.map +0 -1
  387. package/esm/PileupRenderer/getAlignmentShapeColor.js.map +0 -1
  388. package/esm/PileupRenderer/index.js.map +0 -1
  389. package/esm/PileupRenderer/layoutFeature.js.map +0 -1
  390. package/esm/PileupRenderer/layoutFeatures.js.map +0 -1
  391. package/esm/PileupRenderer/makeImageData.js.map +0 -1
  392. package/esm/PileupRenderer/renderAlignment.js.map +0 -1
  393. package/esm/PileupRenderer/renderAlignmentShape.js.map +0 -1
  394. package/esm/PileupRenderer/renderMethylation.js.map +0 -1
  395. package/esm/PileupRenderer/renderMismatches.js.map +0 -1
  396. package/esm/PileupRenderer/renderModifications.js.map +0 -1
  397. package/esm/PileupRenderer/renderPerBaseLettering.js.map +0 -1
  398. package/esm/PileupRenderer/renderPerBaseQuality.js.map +0 -1
  399. package/esm/PileupRenderer/renderSoftClipping.js.map +0 -1
  400. package/esm/PileupRenderer/sortUtil.js.map +0 -1
  401. package/esm/PileupRenderer/util.js.map +0 -1
  402. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js.map +0 -1
  403. package/esm/SNPCoverageAdapter/configSchema.js.map +0 -1
  404. package/esm/SNPCoverageAdapter/generateCoverageBins.js.map +0 -1
  405. package/esm/SNPCoverageAdapter/index.js.map +0 -1
  406. package/esm/SNPCoverageAdapter/util.js.map +0 -1
  407. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js.map +0 -1
  408. package/esm/SNPCoverageRenderer/configSchema.js.map +0 -1
  409. package/esm/SNPCoverageRenderer/index.js.map +0 -1
  410. package/esm/index.js.map +0 -1
  411. package/esm/shared/BaseDisplayComponent.js.map +0 -1
  412. package/esm/shared/FilterByTag.js.map +0 -1
  413. package/esm/shared/afterAttach.js.map +0 -1
  414. package/esm/shared/color.js.map +0 -1
  415. package/esm/shared/fetchChains.js.map +0 -1
  416. package/esm/shared/index.js.map +0 -1
  417. package/esm/shared/renderSvg.js.map +0 -1
  418. package/esm/shared/util.js.map +0 -1
  419. package/esm/util.js.map +0 -1
  420. package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +0 -155
  421. package/src/AlignmentsFeatureDetail/AlignmentsFeatureFlags.tsx +0 -60
  422. package/src/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.tsx +0 -51
  423. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.tsx.snap +0 -327
  424. package/src/AlignmentsFeatureDetail/index.test.tsx +0 -47
  425. package/src/AlignmentsFeatureDetail/index.ts +0 -33
  426. package/src/AlignmentsFeatureDetail/util.ts +0 -27
  427. package/src/AlignmentsTrack/configSchemaF.ts +0 -22
  428. package/src/AlignmentsTrack/index.ts +0 -22
  429. package/src/BamAdapter/BamAdapter.test.ts +0 -124
  430. package/src/BamAdapter/BamAdapter.ts +0 -251
  431. package/src/BamAdapter/BamSlightlyLazyFeature.ts +0 -149
  432. package/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap +0 -1105
  433. package/src/BamAdapter/configSchema.ts +0 -65
  434. package/src/BamAdapter/index.ts +0 -14
  435. package/src/CombinationTest.test.ts +0 -108
  436. package/src/CramAdapter/CramAdapter.test.ts +0 -85
  437. package/src/CramAdapter/CramAdapter.ts +0 -323
  438. package/src/CramAdapter/CramSlightlyLazyFeature.ts +0 -185
  439. package/src/CramAdapter/CramTestAdapters.ts +0 -98
  440. package/src/CramAdapter/__snapshots__/CramAdapter.test.ts.snap +0 -256
  441. package/src/CramAdapter/__snapshots__/util.test.ts.snap +0 -14
  442. package/src/CramAdapter/configSchema.ts +0 -57
  443. package/src/CramAdapter/index.ts +0 -16
  444. package/src/CramAdapter/util.test.ts +0 -26
  445. package/src/CramAdapter/util.ts +0 -251
  446. package/src/GuessAlignmentsTypes/index.ts +0 -79
  447. package/src/HtsgetBamAdapter/HtsgetBamAdapter.ts +0 -24
  448. package/src/HtsgetBamAdapter/configSchema.ts +0 -40
  449. package/src/HtsgetBamAdapter/index.ts +0 -17
  450. package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +0 -52
  451. package/src/LinearAlignmentsDisplay/index.ts +0 -21
  452. package/src/LinearAlignmentsDisplay/models/configSchema.test.ts +0 -60
  453. package/src/LinearAlignmentsDisplay/models/configSchema.ts +0 -41
  454. package/src/LinearAlignmentsDisplay/models/model.tsx +0 -403
  455. package/src/LinearPileupDisplay/components/ColorByModifications.tsx +0 -102
  456. package/src/LinearPileupDisplay/components/ColorByTag.tsx +0 -61
  457. package/src/LinearPileupDisplay/components/LinearPileupDisplayBlurb.tsx +0 -32
  458. package/src/LinearPileupDisplay/components/ModificationsTable.tsx +0 -38
  459. package/src/LinearPileupDisplay/components/SetFeatureHeight.tsx +0 -82
  460. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +0 -71
  461. package/src/LinearPileupDisplay/components/SortByTag.tsx +0 -64
  462. package/src/LinearPileupDisplay/configSchema.test.js +0 -55
  463. package/src/LinearPileupDisplay/configSchema.ts +0 -67
  464. package/src/LinearPileupDisplay/index.ts +0 -24
  465. package/src/LinearPileupDisplay/model.ts +0 -884
  466. package/src/LinearReadArcsDisplay/components/ReactComponent.tsx +0 -50
  467. package/src/LinearReadArcsDisplay/configSchema.ts +0 -68
  468. package/src/LinearReadArcsDisplay/declare.d.ts +0 -1
  469. package/src/LinearReadArcsDisplay/drawFeats.ts +0 -210
  470. package/src/LinearReadArcsDisplay/index.ts +0 -23
  471. package/src/LinearReadArcsDisplay/model.tsx +0 -355
  472. package/src/LinearReadArcsDisplay/util.ts +0 -10
  473. package/src/LinearReadCloudDisplay/components/ReactComponent.tsx +0 -48
  474. package/src/LinearReadCloudDisplay/configSchema.ts +0 -57
  475. package/src/LinearReadCloudDisplay/drawFeats.ts +0 -35
  476. package/src/LinearReadCloudDisplay/drawLongReadChains.ts +0 -85
  477. package/src/LinearReadCloudDisplay/drawPairChains.ts +0 -139
  478. package/src/LinearReadCloudDisplay/index.ts +0 -23
  479. package/src/LinearReadCloudDisplay/model.tsx +0 -246
  480. package/src/LinearReadCloudDisplay/util.ts +0 -47
  481. package/src/LinearSNPCoverageDisplay/components/Tooltip.tsx +0 -128
  482. package/src/LinearSNPCoverageDisplay/index.ts +0 -20
  483. package/src/LinearSNPCoverageDisplay/models/configSchema.test.ts +0 -35
  484. package/src/LinearSNPCoverageDisplay/models/configSchema.ts +0 -82
  485. package/src/LinearSNPCoverageDisplay/models/model.ts +0 -336
  486. package/src/MismatchParser/index.test.ts +0 -283
  487. package/src/MismatchParser/index.ts +0 -508
  488. package/src/PileupRPC/base.ts +0 -24
  489. package/src/PileupRPC/index.ts +0 -12
  490. package/src/PileupRPC/methods/GetGlobalValueForTag.ts +0 -44
  491. package/src/PileupRPC/methods/GetReducedFeatures.ts +0 -67
  492. package/src/PileupRPC/methods/GetVisibleModifications.ts +0 -45
  493. package/src/PileupRPC/rpcMethods.ts +0 -3
  494. package/src/PileupRPC/util.ts +0 -19
  495. package/src/PileupRenderer/PileupLayoutSession.ts +0 -64
  496. package/src/PileupRenderer/PileupRenderer.ts +0 -142
  497. package/src/PileupRenderer/colorBy.ts +0 -74
  498. package/src/PileupRenderer/components/PileupRendering.tsx +0 -209
  499. package/src/PileupRenderer/configSchema.ts +0 -108
  500. package/src/PileupRenderer/getAlignmentShapeColor.ts +0 -87
  501. package/src/PileupRenderer/index.ts +0 -16
  502. package/src/PileupRenderer/layoutFeature.ts +0 -83
  503. package/src/PileupRenderer/layoutFeatures.ts +0 -44
  504. package/src/PileupRenderer/makeImageData.ts +0 -93
  505. package/src/PileupRenderer/renderAlignment.ts +0 -97
  506. package/src/PileupRenderer/renderAlignmentShape.ts +0 -45
  507. package/src/PileupRenderer/renderMethylation.ts +0 -75
  508. package/src/PileupRenderer/renderMismatches.ts +0 -206
  509. package/src/PileupRenderer/renderModifications.ts +0 -74
  510. package/src/PileupRenderer/renderPerBaseLettering.ts +0 -67
  511. package/src/PileupRenderer/renderPerBaseQuality.ts +0 -46
  512. package/src/PileupRenderer/renderSoftClipping.ts +0 -78
  513. package/src/PileupRenderer/sortUtil.ts +0 -107
  514. package/src/PileupRenderer/util.ts +0 -63
  515. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +0 -111
  516. package/src/SNPCoverageAdapter/configSchema.ts +0 -23
  517. package/src/SNPCoverageAdapter/generateCoverageBins.ts +0 -259
  518. package/src/SNPCoverageAdapter/index.ts +0 -18
  519. package/src/SNPCoverageAdapter/util.ts +0 -33
  520. package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +0 -270
  521. package/src/SNPCoverageRenderer/configSchema.ts +0 -64
  522. package/src/SNPCoverageRenderer/index.ts +0 -17
  523. package/src/__snapshots__/index.test.ts.snap +0 -3
  524. package/src/index.test.ts +0 -17
  525. package/src/index.ts +0 -48
  526. package/src/shared/BaseDisplayComponent.tsx +0 -83
  527. package/src/shared/FilterByTag.tsx +0 -187
  528. package/src/shared/afterAttach.tsx +0 -66
  529. package/src/shared/color.ts +0 -86
  530. package/src/shared/fetchChains.ts +0 -62
  531. package/src/shared/index.ts +0 -75
  532. package/src/shared/renderSvg.tsx +0 -64
  533. package/src/shared/util.ts +0 -10
  534. package/src/util.ts +0 -154
@@ -1,19 +0,0 @@
1
- import { ReducedFeature } from '../shared/fetchChains'
2
-
3
- export function getInsertSizeStats(features: ReducedFeature[]) {
4
- const filtered = features.map(f => Math.abs(f.tlen))
5
- const sum = filtered.reduce((a, b) => a + b, 0)
6
- const sum2 = filtered.map(a => a * a).reduce((a, b) => a + b, 0)
7
- const total = filtered.length
8
- const avg = sum / total
9
- const sd = Math.sqrt((total * sum2 - sum * sum) / (total * total))
10
- const upper = avg + 4 * sd
11
- const lower = avg - 3 * sd
12
- return { upper, lower, avg, sd }
13
- }
14
-
15
- export function filterForPairs(features: ReducedFeature[]) {
16
- return features.filter(
17
- f => f.flags & 2 && !(f.flags & 256) && !(f.flags & 2048),
18
- )
19
- }
@@ -1,64 +0,0 @@
1
- import deepEqual from 'fast-deep-equal'
2
- import { LayoutSession } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType'
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration'
4
- import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
5
- import GranularRectLayout from '@jbrowse/core/util/layouts/GranularRectLayout'
6
- import MultiLayout from '@jbrowse/core/util/layouts/MultiLayout'
7
- import { readConfObject } from '@jbrowse/core/configuration'
8
-
9
- export interface PileupLayoutSessionProps {
10
- config: AnyConfigurationModel
11
- bpPerPx: number
12
- filters: SerializableFilterChain
13
- filterBy: unknown
14
- sortedBy: unknown
15
- showSoftClip: unknown
16
- }
17
-
18
- type MyMultiLayout = MultiLayout<GranularRectLayout<unknown>, unknown>
19
- interface CachedPileupLayout {
20
- layout: MyMultiLayout
21
- config: AnyConfigurationModel
22
- filters: SerializableFilterChain
23
- filterBy: unknown
24
- sortedBy: unknown
25
- showSoftClip: boolean
26
- }
27
- // Sorting and revealing soft clip changes the layout of Pileup renderer
28
- // Adds extra conditions to see if cached layout is valid
29
- export class PileupLayoutSession extends LayoutSession {
30
- sortedBy: unknown
31
- filterBy: unknown
32
-
33
- showSoftClip = false
34
-
35
- constructor(args: PileupLayoutSessionProps) {
36
- super(args)
37
- this.config = args.config
38
- }
39
-
40
- cachedLayoutIsValid(cachedLayout: CachedPileupLayout) {
41
- return (
42
- super.cachedLayoutIsValid(cachedLayout) &&
43
- this.showSoftClip === cachedLayout.showSoftClip &&
44
- deepEqual(this.sortedBy, cachedLayout.sortedBy) &&
45
- deepEqual(this.filterBy, cachedLayout.filterBy)
46
- )
47
- }
48
-
49
- cachedLayout: CachedPileupLayout | undefined
50
-
51
- get layout(): MyMultiLayout {
52
- if (!this.cachedLayout || !this.cachedLayoutIsValid(this.cachedLayout)) {
53
- this.cachedLayout = {
54
- layout: this.makeLayout(),
55
- config: readConfObject(this.config),
56
- filters: this.filters,
57
- filterBy: this.filterBy,
58
- sortedBy: this.sortedBy,
59
- showSoftClip: this.showSoftClip,
60
- }
61
- }
62
- return this.cachedLayout.layout
63
- }
64
- }
@@ -1,142 +0,0 @@
1
- import BoxRendererType, {
2
- RenderArgsDeserialized as BoxRenderArgsDeserialized,
3
- } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType'
4
- import {
5
- Feature,
6
- Region,
7
- notEmpty,
8
- renderToAbstractCanvas,
9
- } from '@jbrowse/core/util'
10
- import { BaseLayout } from '@jbrowse/core/util/layouts/BaseLayout'
11
- import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache'
12
- import {
13
- PileupLayoutSession,
14
- PileupLayoutSessionProps,
15
- } from './PileupLayoutSession'
16
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter'
17
-
18
- // locals
19
- import { fetchSequence, shouldFetchReferenceSequence } from '../util'
20
- import { layoutFeats } from './layoutFeatures'
21
- import { makeImageData } from './makeImageData'
22
- import { readConfObject } from '@jbrowse/core/configuration'
23
-
24
- export interface RenderArgsDeserialized extends BoxRenderArgsDeserialized {
25
- colorBy?: { type: string; tag?: string }
26
- colorTagMap?: Record<string, string>
27
- modificationTagMap?: Record<string, string | undefined>
28
- sortedBy?: {
29
- type: string
30
- pos: number
31
- refName: string
32
- assemblyName: string
33
- tag?: string
34
- }
35
- showSoftClip: boolean
36
- highResolutionScaling: number
37
- }
38
-
39
- export interface RenderArgsDeserializedWithFeaturesAndLayout
40
- extends RenderArgsDeserialized {
41
- features: Map<string, Feature>
42
- layout: BaseLayout<Feature>
43
- regionSequence?: string
44
- }
45
-
46
- export default class PileupRenderer extends BoxRendererType {
47
- supportsSVG = true
48
-
49
- async fetchSequence(renderProps: RenderArgsDeserialized) {
50
- const { sessionId, regions, adapterConfig } = renderProps
51
- const { sequenceAdapter } = adapterConfig
52
- if (!sequenceAdapter) {
53
- return undefined
54
- }
55
- const pm = this.pluginManager
56
- const { dataAdapter } = await getAdapter(pm, sessionId, sequenceAdapter)
57
- const [region] = regions
58
- return fetchSequence(region, dataAdapter as BaseFeatureDataAdapter)
59
- }
60
-
61
- getExpandedRegion(region: Region, renderArgs: RenderArgsDeserialized) {
62
- const { config, showSoftClip } = renderArgs
63
- const { start, end } = region
64
- const maxClippingSize = readConfObject(config, 'maxClippingSize')
65
- const bpExpansion = showSoftClip ? Math.round(maxClippingSize) : 0
66
-
67
- return {
68
- // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
69
- ...(region as Omit<typeof region, symbol>),
70
- start: Math.floor(Math.max(start - bpExpansion, 0)),
71
- end: Math.ceil(end + bpExpansion),
72
- }
73
- }
74
-
75
- async render(renderProps: RenderArgsDeserialized) {
76
- const features = await this.getFeatures(renderProps)
77
- const layout = this.createLayoutInWorker(renderProps)
78
- const { regions, bpPerPx } = renderProps
79
- const [region] = regions
80
-
81
- const layoutRecords = layoutFeats({
82
- ...renderProps,
83
- features,
84
- layout,
85
- })
86
-
87
- // only need reference sequence if there are features and only for some
88
- // cases
89
- const regionSequence =
90
- features.size && shouldFetchReferenceSequence(renderProps.colorBy?.type)
91
- ? await this.fetchSequence(renderProps)
92
- : undefined
93
- const width = (region.end - region.start) / bpPerPx
94
- const height = Math.max(layout.getTotalHeight(), 1)
95
- const Color = await import('color').then(f => f.default)
96
- const res = await renderToAbstractCanvas(width, height, renderProps, ctx =>
97
- makeImageData({
98
- ctx,
99
- layoutRecords: layoutRecords.filter(notEmpty),
100
- canvasWidth: width,
101
- renderArgs: {
102
- ...renderProps,
103
- layout,
104
- features,
105
- regionSequence,
106
- Color,
107
- },
108
- }),
109
- )
110
-
111
- const results = await super.render({
112
- ...renderProps,
113
- ...res,
114
- features,
115
- layout,
116
- height,
117
- width,
118
- })
119
-
120
- return {
121
- ...results,
122
- ...res,
123
- features: new Map(),
124
- layout,
125
- height,
126
- width,
127
- maxHeightReached: layout.maxHeightReached,
128
- }
129
- }
130
-
131
- createSession(args: PileupLayoutSessionProps) {
132
- return new PileupLayoutSession(args)
133
- }
134
- }
135
-
136
- export {
137
- type RenderArgs,
138
- type RenderResults,
139
- type RenderArgsSerialized,
140
- type ResultsSerialized,
141
- type ResultsDeserialized,
142
- } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType'
@@ -1,74 +0,0 @@
1
- import {
2
- AnyConfigurationModel,
3
- readConfObject,
4
- } from '@jbrowse/core/configuration'
5
- import { Feature } from '@jbrowse/core/util'
6
- import { fillColor } from '../shared/color'
7
- import { orientationTypes } from '../util'
8
-
9
- export function colorByInsertSize(feature: Feature) {
10
- return feature.get('is_paired') &&
11
- feature.get('refName') !== feature.get('next_ref')
12
- ? '#555'
13
- : `hsl(${Math.abs(feature.get('template_length')) / 10},50%,50%)`
14
- }
15
-
16
- export function colorByMappingQuality(feature: Feature) {
17
- return `hsl(${feature.get('mq')},50%,50%)`
18
- }
19
-
20
- function getOrientation(feature: Feature, config: AnyConfigurationModel) {
21
- const orientationType = readConfObject(config, 'orientationType') as
22
- | 'fr'
23
- | 'ff'
24
- | 'rf'
25
- const type = orientationTypes[orientationType]
26
- const orientation = type[feature.get('pair_orientation') as string]
27
- return {
28
- LR: 'color_pair_lr' as const,
29
- RR: 'color_pair_rr' as const,
30
- RL: 'color_pair_rl' as const,
31
- LL: 'color_pair_ll' as const,
32
- }[orientation]
33
- }
34
-
35
- export function colorByStrand(feature: Feature) {
36
- return feature.get('strand') === -1 ? '#8F8FD8' : '#EC8B8B'
37
- }
38
-
39
- export function colorByOrientation(
40
- feature: Feature,
41
- config: AnyConfigurationModel,
42
- ) {
43
- return fillColor[getOrientation(feature, config) || 'color_nostrand']
44
- }
45
- function getStranded(feature: Feature) {
46
- const flags = feature.get('flags')
47
- const strand = feature.get('strand')
48
- // is paired
49
- if (flags & 1) {
50
- const revflag = flags & 64
51
- const flipper = revflag ? -1 : 1
52
-
53
- // proper pairing
54
- if (flags & 2) {
55
- return strand * flipper === 1 ? 'color_rev_strand' : 'color_fwd_strand'
56
- } else if (feature.get('multi_segment_next_segment_unmapped')) {
57
- return strand * flipper === 1
58
- ? 'color_rev_missing_mate'
59
- : 'color_fwd_missing_mate'
60
- } else if (feature.get('refName') === feature.get('next_refName')) {
61
- return strand * flipper === 1
62
- ? 'color_rev_strand_not_proper'
63
- : 'color_fwd_strand_not_proper'
64
- } else {
65
- // should only leave aberrant chr
66
- return strand === 1 ? 'color_fwd_diff_chr' : 'color_rev_diff_chr'
67
- }
68
- }
69
- return strand === 1 ? 'color_fwd_strand' : 'color_rev_strand'
70
- }
71
-
72
- export function colorByStrandedRnaSeq(feature: Feature) {
73
- return fillColor[getStranded(feature)]
74
- }
@@ -1,209 +0,0 @@
1
- import React, { useRef, useState, useEffect } from 'react'
2
- import { Region } from '@jbrowse/core/util/types'
3
- import { PrerenderedCanvas } from '@jbrowse/core/ui'
4
- import { bpSpanPx } from '@jbrowse/core/util'
5
- import { observer } from 'mobx-react'
6
- import type { BaseLinearDisplayModel } from '@jbrowse/plugin-linear-genome-view'
7
-
8
- // used so that user can click-away-from-feature below the laid out features
9
- // (issue #1248)
10
- const canvasPadding = 100
11
- function PileupRendering(props: {
12
- blockKey: string
13
- displayModel: BaseLinearDisplayModel
14
- width: number
15
- height: number
16
- regions: Region[]
17
- bpPerPx: number
18
- sortedBy?: { type: string; pos: number; refName: string }
19
- colorBy?: { type: string; tag?: string }
20
- filterBy?: { tagFilter?: { tag: string } }
21
- onMouseMove?: (event: React.MouseEvent, featureId?: string) => void
22
- }) {
23
- const {
24
- onMouseMove,
25
- blockKey,
26
- displayModel,
27
- width,
28
- height,
29
- regions,
30
- bpPerPx,
31
- sortedBy,
32
- colorBy,
33
- filterBy,
34
- } = props
35
- const { selectedFeatureId, featureIdUnderMouse, contextMenuFeature } =
36
- displayModel
37
-
38
- const [region] = regions
39
- const highlightOverlayCanvas = useRef<HTMLCanvasElement>(null)
40
- const [mouseIsDown, setMouseIsDown] = useState(false)
41
- const [movedDuringLastMouseDown, setMovedDuringLastMouseDown] =
42
- useState(false)
43
- useEffect(() => {
44
- const canvas = highlightOverlayCanvas.current
45
- if (!canvas) {
46
- return
47
- }
48
- const ctx = canvas.getContext('2d')
49
- if (!ctx) {
50
- return
51
- }
52
- ctx.clearRect(0, 0, canvas.width, canvas.height)
53
- const selectedRect = selectedFeatureId
54
- ? displayModel.getFeatureByID?.(blockKey, selectedFeatureId)
55
- : undefined
56
- if (selectedRect) {
57
- const [leftBp, topPx, rightBp, bottomPx] = selectedRect
58
- const [leftPx, rightPx] = bpSpanPx(leftBp, rightBp, region, bpPerPx)
59
- const rectTop = Math.round(topPx)
60
- const rectHeight = Math.round(bottomPx - topPx)
61
- ctx.shadowColor = '#222266'
62
- ctx.shadowBlur = 10
63
- ctx.lineJoin = 'bevel'
64
- ctx.lineWidth = 2
65
- ctx.strokeStyle = '#00b8ff'
66
- ctx.strokeRect(
67
- leftPx - 2,
68
- rectTop - 2,
69
- rightPx - leftPx + 4,
70
- rectHeight + 4,
71
- )
72
- ctx.clearRect(leftPx, rectTop, rightPx - leftPx, rectHeight)
73
- }
74
- const highlightedFeature = featureIdUnderMouse || contextMenuFeature?.id()
75
- const highlightedRect = highlightedFeature
76
- ? displayModel.getFeatureByID?.(blockKey, highlightedFeature)
77
- : undefined
78
- if (highlightedRect) {
79
- const [leftBp, topPx, rightBp, bottomPx] = highlightedRect
80
- const [leftPx, rightPx] = bpSpanPx(leftBp, rightBp, region, bpPerPx)
81
- const rectTop = Math.round(topPx)
82
- const rectHeight = Math.round(bottomPx - topPx)
83
- ctx.fillStyle = '#0003'
84
- ctx.fillRect(leftPx, rectTop, rightPx - leftPx, rectHeight)
85
- }
86
- }, [
87
- bpPerPx,
88
- region,
89
- blockKey,
90
- selectedFeatureId,
91
- displayModel,
92
- featureIdUnderMouse,
93
- contextMenuFeature,
94
- ])
95
-
96
- function onMouseDown(event: React.MouseEvent) {
97
- setMouseIsDown(true)
98
- setMovedDuringLastMouseDown(false)
99
- callMouseHandler('MouseDown', event)
100
- }
101
-
102
- function onMouseEnter(event: React.MouseEvent) {
103
- callMouseHandler('MouseEnter', event)
104
- }
105
-
106
- function onMouseOut(event: React.MouseEvent) {
107
- callMouseHandler('MouseOut', event)
108
- callMouseHandler('MouseLeave', event)
109
- }
110
-
111
- function onMouseOver(event: React.MouseEvent) {
112
- callMouseHandler('MouseOver', event)
113
- }
114
-
115
- function onMouseUp(event: React.MouseEvent) {
116
- setMouseIsDown(false)
117
- callMouseHandler('MouseUp', event)
118
- }
119
-
120
- function onClick(event: React.MouseEvent) {
121
- if (!movedDuringLastMouseDown) {
122
- callMouseHandler('Click', event)
123
- }
124
- }
125
-
126
- function onMouseLeave(event: React.MouseEvent) {
127
- callMouseHandler('MouseOut', event)
128
- callMouseHandler('MouseLeave', event)
129
- }
130
-
131
- function onContextMenu(event: React.MouseEvent) {
132
- callMouseHandler('ContextMenu', event)
133
- }
134
-
135
- function mouseMove(event: React.MouseEvent) {
136
- if (!highlightOverlayCanvas.current) {
137
- return
138
- }
139
- if (mouseIsDown) {
140
- setMovedDuringLastMouseDown(true)
141
- }
142
- const rect = highlightOverlayCanvas.current.getBoundingClientRect()
143
- const offsetX = event.clientX - rect.left
144
- const offsetY = event.clientY - rect.top
145
- const px = region.reversed ? width - offsetX : offsetX
146
- const clientBp = region.start + bpPerPx * px
147
-
148
- onMouseMove?.(
149
- event,
150
- displayModel.getFeatureOverlapping(blockKey, clientBp, offsetY),
151
- )
152
- }
153
-
154
- function callMouseHandler(handlerName: string, event: React.MouseEvent) {
155
- // @ts-expect-error
156
- // eslint-disable-next-line react/destructuring-assignment
157
- const featureHandler = props[`onFeature${handlerName}`]
158
- // @ts-expect-error
159
- // eslint-disable-next-line react/destructuring-assignment
160
- const canvasHandler = props[`on${handlerName}`]
161
- if (featureHandler && featureIdUnderMouse) {
162
- featureHandler(event, featureIdUnderMouse)
163
- } else if (canvasHandler) {
164
- canvasHandler(event, featureIdUnderMouse)
165
- }
166
- }
167
-
168
- const canvasWidth = Math.ceil(width)
169
- // need to call this in render so we get the right observer behavior
170
- return (
171
- <div
172
- data-testid={`pileup-${[
173
- sortedBy?.type,
174
- colorBy?.type,
175
- colorBy?.tag,
176
- filterBy?.tagFilter?.tag,
177
- ]
178
- .filter(f => !!f)
179
- .join('-')}`}
180
- style={{ position: 'relative', width: canvasWidth, height }}
181
- >
182
- <PrerenderedCanvas
183
- {...props}
184
- style={{ position: 'absolute', left: 0, top: 0 }}
185
- />
186
- <canvas
187
- data-testid="pileup_overlay_canvas"
188
- width={canvasWidth}
189
- height={height + canvasPadding}
190
- style={{ position: 'absolute', left: 0, top: 0 }}
191
- className="highlightOverlayCanvas"
192
- ref={highlightOverlayCanvas}
193
- onMouseDown={event => onMouseDown(event)}
194
- onMouseEnter={event => onMouseEnter(event)}
195
- onMouseOut={event => onMouseOut(event)}
196
- onMouseOver={event => onMouseOver(event)}
197
- onMouseUp={event => onMouseUp(event)}
198
- onMouseLeave={event => onMouseLeave(event)}
199
- onMouseMove={event => mouseMove(event)}
200
- onClick={event => onClick(event)}
201
- onContextMenu={event => onContextMenu(event)}
202
- onFocus={() => {}}
203
- onBlur={() => {}}
204
- />
205
- </div>
206
- )
207
- }
208
-
209
- export default observer(PileupRendering)
@@ -1,108 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import { types } from 'mobx-state-tree'
3
-
4
- /**
5
- * #config PileupRenderer
6
- */
7
- function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
8
-
9
- const PileupRenderer = ConfigurationSchema(
10
- 'PileupRenderer',
11
- {
12
- /**
13
- * #slot
14
- * default magenta here is used to detect the user has not customized this
15
- */
16
- color: {
17
- type: 'color',
18
- description: 'the color of each feature in a pileup alignment',
19
- defaultValue: '#f0f',
20
- contextVariable: ['feature'],
21
- },
22
-
23
- /**
24
- * #slot
25
- */
26
- orientationType: {
27
- type: 'stringEnum',
28
- model: types.enumeration('orientationType', ['fr', 'rf', 'ff']),
29
- defaultValue: 'fr',
30
- description:
31
- 'read sequencer orientation. fr is normal "reads pointing at each other ---> <--- while some other sequencers can use other options',
32
- },
33
- /**
34
- * #slot
35
- */
36
- displayMode: {
37
- type: 'stringEnum',
38
- model: types.enumeration('displayMode', [
39
- 'normal',
40
- 'compact',
41
- 'collapse',
42
- ]),
43
- description: 'Alternative display modes',
44
- defaultValue: 'normal',
45
- },
46
- /**
47
- * #slot
48
- */
49
- minSubfeatureWidth: {
50
- type: 'number',
51
- description:
52
- 'the minimum width in px for a pileup mismatch feature. use for increasing/decreasing mismatch marker widths when zoomed out, e.g. 0 or 1',
53
- defaultValue: 1,
54
- },
55
- /**
56
- * #slot
57
- */
58
- maxHeight: {
59
- type: 'integer',
60
- description: 'the maximum height to be used in a pileup rendering',
61
- defaultValue: 1200,
62
- },
63
- /**
64
- * #slot
65
- */
66
- maxClippingSize: {
67
- type: 'integer',
68
- description: 'the max clip size to be used in a pileup rendering',
69
- defaultValue: 10000,
70
- },
71
- /**
72
- * #slot
73
- */
74
- height: {
75
- type: 'number',
76
- description: 'the height of each feature in a pileup alignment',
77
- defaultValue: 7,
78
- contextVariable: ['feature'],
79
- },
80
- /**
81
- * #slot
82
- */
83
- noSpacing: {
84
- type: 'boolean',
85
- description: 'remove spacing between features',
86
- defaultValue: false,
87
- },
88
- /**
89
- * #slot
90
- */
91
- largeInsertionIndicatorScale: {
92
- type: 'number',
93
- description:
94
- 'scale at which to draw the large insertion indicators (bp/pixel)',
95
- defaultValue: 10,
96
- },
97
- /**
98
- * #slot
99
- */
100
- mismatchAlpha: {
101
- type: 'boolean',
102
- defaultValue: false,
103
- description: 'Fade low quality mismatches',
104
- },
105
- },
106
- { explicitlyTyped: true },
107
- )
108
- export default PileupRenderer
@@ -1,87 +0,0 @@
1
- import {
2
- AnyConfigurationModel,
3
- readConfObject,
4
- } from '@jbrowse/core/configuration'
5
- import { Feature } from '@jbrowse/core/util'
6
- import { fillColor } from '../shared/color'
7
- import {
8
- colorByInsertSize,
9
- colorByMappingQuality,
10
- colorByOrientation,
11
- colorByStrand,
12
- colorByStrandedRnaSeq,
13
- } from './colorBy'
14
-
15
- export function getAlignmentShapeColor({
16
- colorType,
17
- tag,
18
- feature,
19
- config,
20
- defaultColor,
21
- colorTagMap,
22
- }: {
23
- colorType: string
24
- tag: string
25
- feature: Feature
26
- defaultColor: boolean
27
- config: AnyConfigurationModel
28
- colorTagMap: Record<string, string>
29
- }) {
30
- // first pass for simple color changes that change the color of the
31
- // alignment
32
- switch (colorType) {
33
- case 'insertSize':
34
- return colorByInsertSize(feature)
35
- case 'strand':
36
- return colorByStrand(feature)
37
- case 'mappingQuality':
38
- return colorByMappingQuality(feature)
39
- case 'pairOrientation':
40
- return colorByOrientation(feature, config)
41
- case 'stranded':
42
- return colorByStrandedRnaSeq(feature)
43
- case 'xs':
44
- case 'tag': {
45
- const tags = feature.get('tags')
46
- const val = tags ? tags[tag] : feature.get(tag)
47
-
48
- if (tag === 'XS' || tag === 'TS') {
49
- return fillColor[
50
- {
51
- '-': 'color_rev_strand' as const,
52
- '+': 'color_fwd_strand' as const,
53
- }[val as '-' | '+'] || 'color_nostrand'
54
- ]
55
- } else if (tag === 'ts') {
56
- return fillColor[
57
- {
58
- '-':
59
- feature.get('strand') === -1
60
- ? ('color_fwd_strand' as const)
61
- : ('color_rev_strand' as const),
62
- '+':
63
- feature.get('strand') === -1
64
- ? ('color_rev_strand' as const)
65
- : ('color_fwd_strand' as const),
66
- }[val as '-' | '+'] || 'color_nostrand'
67
- ]
68
- } else {
69
- return colorTagMap[val] || fillColor['color_nostrand']
70
- }
71
- }
72
- case 'insertSizeAndPairOrientation':
73
- break
74
-
75
- case 'modifications':
76
- case 'methylation':
77
- // this coloring is similar to igv.js, and is helpful to color negative
78
- // strand reads differently because their c-g will be flipped (e.g. g-c
79
- // read right to left)
80
- return feature.get('flags') & 16 ? '#c8dcc8' : '#c8c8c8'
81
-
82
- default:
83
- return defaultColor
84
- ? 'lightgrey'
85
- : readConfObject(config, 'color', { feature })
86
- }
87
- }