@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,16 +0,0 @@
1
- import PluginManager from '@jbrowse/core/PluginManager'
2
- import PileupRenderer from './PileupRenderer'
3
- import configSchema from './configSchema'
4
- import ReactComponent from './components/PileupRendering'
5
-
6
- export default function register(pluginManager: PluginManager) {
7
- pluginManager.addRendererType(() => {
8
- return new PileupRenderer({
9
- name: 'PileupRenderer',
10
- displayName: 'Pileup renderer',
11
- ReactComponent,
12
- configSchema,
13
- pluginManager,
14
- })
15
- })
16
- }
@@ -1,83 +0,0 @@
1
- import { bpSpanPx, Feature, Region } from '@jbrowse/core/util'
2
- import { BaseLayout } from '@jbrowse/core/util/layouts'
3
- // locals
4
- import { Mismatch } from '../MismatchParser'
5
-
6
- export interface LayoutRecord {
7
- feature: Feature
8
- leftPx: number
9
- rightPx: number
10
- topPx: number
11
- heightPx: number
12
- }
13
-
14
- export function layoutFeature({
15
- feature,
16
- layout,
17
- bpPerPx,
18
- region,
19
- showSoftClip,
20
- heightPx,
21
- displayMode,
22
- }: {
23
- feature: Feature
24
- layout: BaseLayout<Feature>
25
- bpPerPx: number
26
- region: Region
27
- showSoftClip?: boolean
28
- heightPx: number
29
- displayMode: string
30
- }): LayoutRecord | null {
31
- let expansionBefore = 0
32
- let expansionAfter = 0
33
-
34
- // Expand the start and end of feature when softclipping enabled
35
- if (showSoftClip) {
36
- const mismatches = feature.get('mismatches') as Mismatch[]
37
- const seq = feature.get('seq') as string
38
- if (seq) {
39
- for (let i = 0; i < mismatches.length; i += 1) {
40
- const { type, start, cliplen = 0 } = mismatches[i]
41
- if (type === 'softclip') {
42
- start === 0 ? (expansionBefore = cliplen) : (expansionAfter = cliplen)
43
- }
44
- }
45
- }
46
- }
47
-
48
- const [leftPx, rightPx] = bpSpanPx(
49
- feature.get('start') - expansionBefore,
50
- feature.get('end') + expansionAfter,
51
- region,
52
- bpPerPx,
53
- )
54
-
55
- if (displayMode === 'compact') {
56
- heightPx /= 3
57
- }
58
- if (feature.get('refName') !== region.refName) {
59
- throw new Error(
60
- `feature ${feature.id()} is not on the current region's reference sequence ${
61
- region.refName
62
- }`,
63
- )
64
- }
65
- const topPx = layout.addRect(
66
- feature.id(),
67
- feature.get('start') - expansionBefore,
68
- feature.get('end') + expansionAfter,
69
- heightPx,
70
- feature,
71
- )
72
- if (topPx === null) {
73
- return null
74
- }
75
-
76
- return {
77
- feature,
78
- leftPx,
79
- rightPx,
80
- topPx: displayMode === 'collapse' ? 0 : topPx,
81
- heightPx,
82
- }
83
- }
@@ -1,44 +0,0 @@
1
- import { readConfObject } from '@jbrowse/core/configuration'
2
- import { iterMap } from '@jbrowse/core/util'
3
-
4
- // locals
5
- import { layoutFeature } from './layoutFeature'
6
- import { RenderArgsDeserializedWithFeaturesAndLayout } from './PileupRenderer'
7
- import { sortFeature } from './sortUtil'
8
-
9
- // layout determines the height of the canvas that we use to render
10
- export function layoutFeats(
11
- props: RenderArgsDeserializedWithFeaturesAndLayout,
12
- ) {
13
- const { layout, features, sortedBy, config, bpPerPx, showSoftClip, regions } =
14
- props
15
- const [region] = regions
16
- if (!layout) {
17
- throw new Error(`layout required`)
18
- }
19
- if (!layout.addRect) {
20
- throw new Error('invalid layout object')
21
- }
22
-
23
- const featureMap =
24
- sortedBy?.type && region.start === sortedBy.pos
25
- ? sortFeature(features, sortedBy)
26
- : features
27
-
28
- const heightPx = readConfObject(config, 'height')
29
- const displayMode = readConfObject(config, 'displayMode')
30
- return iterMap(
31
- featureMap.values(),
32
- feature =>
33
- layoutFeature({
34
- feature,
35
- layout,
36
- bpPerPx,
37
- region,
38
- showSoftClip,
39
- heightPx,
40
- displayMode,
41
- }),
42
- featureMap.size,
43
- )
44
- }
@@ -1,93 +0,0 @@
1
- import { Feature } from '@jbrowse/core/util'
2
- import { RenderArgsDeserializedWithFeaturesAndLayout } from './PileupRenderer'
3
- import { readConfObject } from '@jbrowse/core/configuration'
4
- import { createJBrowseTheme } from '@jbrowse/core/ui'
5
- import {
6
- getCharWidthHeight,
7
- getColorBaseMap,
8
- getContrastBaseMap,
9
- shouldDrawIndels,
10
- shouldDrawSNPsMuted,
11
- } from './util'
12
- import { renderAlignment } from './renderAlignment'
13
- import { renderMismatches } from './renderMismatches'
14
- import { renderSoftClipping } from './renderSoftClipping'
15
-
16
- export interface RenderArgsWithColor
17
- extends RenderArgsDeserializedWithFeaturesAndLayout {
18
- Color: Awaited<typeof import('color')>
19
- }
20
-
21
- interface LayoutFeature {
22
- heightPx: number
23
- topPx: number
24
- feature: Feature
25
- }
26
-
27
- export function makeImageData({
28
- ctx,
29
- layoutRecords,
30
- canvasWidth,
31
- renderArgs,
32
- }: {
33
- ctx: CanvasRenderingContext2D
34
- canvasWidth: number
35
- layoutRecords: LayoutFeature[]
36
- renderArgs: RenderArgsWithColor
37
- }) {
38
- const { config, showSoftClip, colorBy, theme: configTheme } = renderArgs
39
- const mismatchAlpha = readConfObject(config, 'mismatchAlpha')
40
- const minSubfeatureWidth = readConfObject(config, 'minSubfeatureWidth')
41
- const largeInsertionIndicatorScale = readConfObject(
42
- config,
43
- 'largeInsertionIndicatorScale',
44
- )
45
- const defaultColor = readConfObject(config, 'color') === '#f0f'
46
- const theme = createJBrowseTheme(configTheme)
47
- const colorForBase = getColorBaseMap(theme)
48
- const contrastForBase = getContrastBaseMap(theme)
49
- ctx.font = 'bold 10px Courier New,monospace'
50
-
51
- const { charWidth, charHeight } = getCharWidthHeight()
52
- const drawSNPsMuted = shouldDrawSNPsMuted(colorBy?.type)
53
- const drawIndels = shouldDrawIndels()
54
- for (const feat of layoutRecords) {
55
- renderAlignment({
56
- ctx,
57
- feat,
58
- renderArgs,
59
- defaultColor,
60
- colorForBase,
61
- contrastForBase,
62
- charWidth,
63
- charHeight,
64
- canvasWidth,
65
- })
66
- renderMismatches({
67
- ctx,
68
- feat,
69
- renderArgs,
70
- mismatchAlpha,
71
- drawSNPsMuted,
72
- drawIndels,
73
- largeInsertionIndicatorScale,
74
- minSubfeatureWidth,
75
- charWidth,
76
- charHeight,
77
- colorForBase,
78
- contrastForBase,
79
- canvasWidth,
80
- })
81
- if (showSoftClip) {
82
- renderSoftClipping({
83
- ctx,
84
- feat,
85
- renderArgs,
86
- colorForBase,
87
- config,
88
- theme,
89
- canvasWidth,
90
- })
91
- }
92
- }
93
- }
@@ -1,97 +0,0 @@
1
- import { LayoutFeature } from './util'
2
-
3
- import { getAlignmentShapeColor } from './getAlignmentShapeColor'
4
- import { renderAlignmentShape } from './renderAlignmentShape'
5
- import { renderPerBaseQuality } from './renderPerBaseQuality'
6
- import { renderPerBaseLettering } from './renderPerBaseLettering'
7
- import { renderModifications } from './renderModifications'
8
- import { renderMethylation } from './renderMethylation'
9
- import { RenderArgsWithColor } from './makeImageData'
10
-
11
- export function renderAlignment({
12
- ctx,
13
- feat,
14
- renderArgs,
15
- colorForBase,
16
- contrastForBase,
17
- charWidth,
18
- charHeight,
19
- defaultColor,
20
- canvasWidth,
21
- }: {
22
- ctx: CanvasRenderingContext2D
23
- feat: LayoutFeature
24
- renderArgs: RenderArgsWithColor
25
- colorForBase: Record<string, string>
26
- contrastForBase: Record<string, string>
27
- charWidth: number
28
- charHeight: number
29
- defaultColor: boolean
30
- canvasWidth: number
31
- }) {
32
- const { config, bpPerPx, regions, colorBy, colorTagMap = {} } = renderArgs
33
- const { tag = '', type: colorType = '' } = colorBy || {}
34
- const { feature } = feat
35
- const region = regions[0]
36
-
37
- ctx.fillStyle = getAlignmentShapeColor({
38
- feature,
39
- config,
40
- tag,
41
- defaultColor,
42
- colorType,
43
- colorTagMap,
44
- })
45
-
46
- renderAlignmentShape({ ctx, feat, renderArgs })
47
-
48
- // second pass for color types that render per-base things that go over the
49
- // existing drawing
50
- switch (colorType) {
51
- case 'perBaseQuality':
52
- renderPerBaseQuality({
53
- ctx,
54
- feat,
55
- region,
56
- bpPerPx,
57
- canvasWidth,
58
- })
59
- break
60
-
61
- case 'perBaseLettering':
62
- renderPerBaseLettering({
63
- ctx,
64
- feat,
65
- region,
66
- bpPerPx,
67
- colorForBase,
68
- contrastForBase,
69
- charWidth,
70
- charHeight,
71
- canvasWidth,
72
- })
73
- break
74
-
75
- case 'modifications':
76
- renderModifications({
77
- ctx,
78
- feat,
79
- region,
80
- bpPerPx,
81
- renderArgs,
82
- canvasWidth,
83
- })
84
- break
85
-
86
- case 'methylation':
87
- renderMethylation({
88
- ctx,
89
- feat,
90
- region,
91
- bpPerPx,
92
- renderArgs,
93
- canvasWidth,
94
- })
95
- break
96
- }
97
- }
@@ -1,45 +0,0 @@
1
- import { bpSpanPx } from '@jbrowse/core/util'
2
- import { RenderArgsDeserialized } from './PileupRenderer'
3
- import { LayoutFeature } from './util'
4
-
5
- export function renderAlignmentShape({
6
- ctx,
7
- feat,
8
- renderArgs,
9
- }: {
10
- ctx: CanvasRenderingContext2D
11
- feat: LayoutFeature
12
- renderArgs: RenderArgsDeserialized
13
- }) {
14
- const { regions, bpPerPx } = renderArgs
15
- const { heightPx, topPx, feature } = feat
16
- const [region] = regions
17
- const s = feature.get('start')
18
- const e = feature.get('end')
19
- const [leftPx, rightPx] = bpSpanPx(s, e, region, bpPerPx)
20
- const flip = region.reversed ? -1 : 1
21
- const strand = feature.get('strand') * flip
22
- if (bpPerPx < 10) {
23
- if (strand === -1) {
24
- ctx.beginPath()
25
- ctx.moveTo(leftPx - 5, topPx + heightPx / 2)
26
- ctx.lineTo(leftPx, topPx + heightPx)
27
- ctx.lineTo(rightPx, topPx + heightPx)
28
- ctx.lineTo(rightPx, topPx)
29
- ctx.lineTo(leftPx, topPx)
30
- ctx.closePath()
31
- ctx.fill()
32
- } else {
33
- ctx.beginPath()
34
- ctx.moveTo(leftPx, topPx)
35
- ctx.lineTo(leftPx, topPx + heightPx)
36
- ctx.lineTo(rightPx, topPx + heightPx)
37
- ctx.lineTo(rightPx + 5, topPx + heightPx / 2)
38
- ctx.lineTo(rightPx, topPx)
39
- ctx.closePath()
40
- ctx.fill()
41
- }
42
- } else {
43
- ctx.fillRect(leftPx, topPx, rightPx - leftPx, heightPx)
44
- }
45
- }
@@ -1,75 +0,0 @@
1
- import { bpSpanPx, Region } from '@jbrowse/core/util'
2
- import { getMethBins } from '../MismatchParser'
3
- import { fillRect, LayoutFeature } from './util'
4
- import { RenderArgsWithColor } from './makeImageData'
5
-
6
- // Color by methylation is slightly modified version of color by
7
- // modifications that focuses on CpG sites, with non-methylated CpG colored
8
- export function renderMethylation({
9
- ctx,
10
- feat,
11
- region,
12
- bpPerPx,
13
- renderArgs,
14
- canvasWidth,
15
- }: {
16
- ctx: CanvasRenderingContext2D
17
- feat: LayoutFeature
18
- region: Region
19
- bpPerPx: number
20
- renderArgs: RenderArgsWithColor
21
- canvasWidth: number
22
- }) {
23
- const { regionSequence, Color } = renderArgs
24
- const { feature, topPx, heightPx } = feat
25
- if (!regionSequence) {
26
- throw new Error('region sequence required for methylation')
27
- }
28
-
29
- const seq = feature.get('seq') as string | undefined
30
- if (!seq) {
31
- return
32
- }
33
- const fstart = feature.get('start')
34
- const fend = feature.get('end')
35
- const { methBins, methProbs } = getMethBins(feature)
36
-
37
- function getCol(k: number) {
38
- if (methBins[k]) {
39
- const p = methProbs[k] || 0
40
- return p > 0.5
41
- ? Color('red')
42
- .alpha((p - 0.5) * 2)
43
- .hsl()
44
- .string()
45
- : Color('blue')
46
- .alpha(1 - p * 2)
47
- .hsl()
48
- .string()
49
- }
50
- return undefined
51
- }
52
- for (let i = 0; i < fend - fstart; i++) {
53
- const j = i + fstart
54
- const l1 = regionSequence[j - region.start + 1]?.toLowerCase()
55
- const l2 = regionSequence[j - region.start + 2]?.toLowerCase()
56
-
57
- if (l1 === 'c' && l2 === 'g') {
58
- if (bpPerPx > 2) {
59
- const [leftPx, rightPx] = bpSpanPx(j, j + 2, region, bpPerPx)
60
- const w = rightPx - leftPx + 0.5
61
- const c = getCol(i) || getCol(i + 1) || 'blue'
62
- fillRect(ctx, leftPx, topPx, w, heightPx, canvasWidth, c)
63
- } else {
64
- const [leftPx, rightPx] = bpSpanPx(j, j + 1, region, bpPerPx)
65
- const w = rightPx - leftPx + 0.5
66
- const c = getCol(i) || 'blue'
67
- fillRect(ctx, leftPx, topPx, w, heightPx, canvasWidth, c)
68
- const [leftPx2, rightPx2] = bpSpanPx(j + 1, j + 2, region, bpPerPx)
69
- const w2 = rightPx2 - leftPx2 + 0.5
70
- const c2 = getCol(i + 1) || 'blue'
71
- fillRect(ctx, leftPx2, topPx, w2, heightPx, canvasWidth, c2)
72
- }
73
- }
74
- }
75
- }
@@ -1,206 +0,0 @@
1
- import { bpSpanPx, measureText } from '@jbrowse/core/util'
2
- import { Mismatch } from '../MismatchParser'
3
- import { fillRect, LayoutFeature } from './util'
4
- import { RenderArgsWithColor } from './makeImageData'
5
-
6
- export function renderMismatches({
7
- ctx,
8
- feat,
9
- renderArgs,
10
- minSubfeatureWidth,
11
- largeInsertionIndicatorScale,
12
- mismatchAlpha,
13
- charWidth,
14
- charHeight,
15
- colorForBase,
16
- contrastForBase,
17
- canvasWidth,
18
- drawSNPsMuted,
19
- drawIndels = true,
20
- }: {
21
- ctx: CanvasRenderingContext2D
22
- feat: LayoutFeature
23
- renderArgs: RenderArgsWithColor
24
- colorForBase: { [key: string]: string }
25
- contrastForBase: { [key: string]: string }
26
- mismatchAlpha?: boolean
27
- drawIndels?: boolean
28
- drawSNPsMuted?: boolean
29
- minSubfeatureWidth: number
30
- largeInsertionIndicatorScale: number
31
- charWidth: number
32
- charHeight: number
33
- canvasWidth: number
34
- }) {
35
- const { Color, bpPerPx, regions } = renderArgs
36
- const { heightPx, topPx, feature } = feat
37
- const [region] = regions
38
- const start = feature.get('start')
39
-
40
- const pxPerBp = Math.min(1 / bpPerPx, 2)
41
- const mismatches = feature.get('mismatches') as Mismatch[] | undefined
42
- const heightLim = charHeight - 2
43
-
44
- // extraHorizontallyFlippedOffset is used to draw interbase items, which
45
- // are located to the left when forward and right when reversed
46
- const extraHorizontallyFlippedOffset = region.reversed ? 1 / bpPerPx + 1 : -1
47
-
48
- if (!mismatches) {
49
- return
50
- }
51
-
52
- // two pass rendering: first pass, draw all the mismatches except wide
53
- // insertion markers
54
- for (let i = 0; i < mismatches.length; i += 1) {
55
- const mismatch = mismatches[i]
56
- const mstart = start + mismatch.start
57
- const mlen = mismatch.length
58
- const mbase = mismatch.base
59
- const [leftPx, rightPx] = bpSpanPx(mstart, mstart + mlen, region, bpPerPx)
60
- const widthPx = Math.max(minSubfeatureWidth, Math.abs(leftPx - rightPx))
61
- if (mismatch.type === 'mismatch') {
62
- if (!drawSNPsMuted) {
63
- const baseColor = colorForBase[mismatch.base] || '#888'
64
- const c = mismatchAlpha
65
- ? mismatch.qual === undefined
66
- ? baseColor
67
- : Color(baseColor)
68
- .alpha(Math.min(1, mismatch.qual / 50))
69
- .hsl()
70
- .string()
71
- : baseColor
72
-
73
- fillRect(
74
- ctx,
75
- Math.round(leftPx),
76
- topPx,
77
- widthPx,
78
- heightPx,
79
- canvasWidth,
80
- c,
81
- )
82
- }
83
-
84
- if (widthPx >= charWidth && heightPx >= heightLim) {
85
- // normal SNP coloring
86
- const contrastColor = drawSNPsMuted
87
- ? 'black'
88
- : contrastForBase[mismatch.base] || 'black'
89
- ctx.fillStyle = mismatchAlpha
90
- ? mismatch.qual === undefined
91
- ? contrastColor
92
- : Color(contrastColor)
93
- .alpha(Math.min(1, mismatch.qual / 50))
94
- .hsl()
95
- .string()
96
- : contrastColor
97
- ctx.fillText(
98
- mbase,
99
- leftPx + (widthPx - charWidth) / 2 + 1,
100
- topPx + heightPx,
101
- )
102
- }
103
- } else if (mismatch.type === 'deletion' && drawIndels) {
104
- fillRect(
105
- ctx,
106
- leftPx,
107
- topPx,
108
- Math.abs(leftPx - rightPx),
109
- heightPx,
110
- canvasWidth,
111
- colorForBase.deletion,
112
- )
113
- const txt = `${mismatch.length}`
114
- const rwidth = measureText(txt, 10)
115
- if (widthPx >= rwidth && heightPx >= heightLim) {
116
- ctx.fillStyle = contrastForBase.deletion
117
- ctx.fillText(txt, (leftPx + rightPx) / 2 - rwidth / 2, topPx + heightPx)
118
- }
119
- } else if (mismatch.type === 'insertion' && drawIndels) {
120
- ctx.fillStyle = 'purple'
121
- const pos = leftPx + extraHorizontallyFlippedOffset
122
- const len = +mismatch.base || mismatch.length
123
- const insW = Math.max(0, Math.min(1.2, 1 / bpPerPx))
124
- if (len < 10) {
125
- fillRect(ctx, pos, topPx, insW, heightPx, canvasWidth, 'purple')
126
- if (1 / bpPerPx >= charWidth && heightPx >= heightLim) {
127
- const l = pos - insW
128
- fillRect(ctx, l, topPx, insW * 3, 1, canvasWidth)
129
- fillRect(ctx, l, topPx + heightPx - 1, insW * 3, 1, canvasWidth)
130
- ctx.fillText(`(${mismatch.base})`, pos + 3, topPx + heightPx)
131
- }
132
- }
133
- } else if (mismatch.type === 'hardclip' || mismatch.type === 'softclip') {
134
- const pos = leftPx + extraHorizontallyFlippedOffset
135
- const c = mismatch.type === 'hardclip' ? 'red' : 'blue'
136
- const clipW = Math.max(minSubfeatureWidth, pxPerBp)
137
- fillRect(ctx, pos, topPx, clipW, heightPx, canvasWidth, c)
138
- if (1 / bpPerPx >= charWidth && heightPx >= heightLim) {
139
- const l = pos - clipW
140
- fillRect(ctx, l, topPx, clipW * 3, 1, canvasWidth)
141
- fillRect(ctx, l, topPx + heightPx - 1, clipW * 3, 1, canvasWidth)
142
- ctx.fillText(`(${mismatch.base})`, pos + 3, topPx + heightPx)
143
- }
144
- } else if (mismatch.type === 'skip') {
145
- // fix to avoid bad rendering note that this was also related to chrome
146
- // bug https://bugs.chromium.org/p/chromium/issues/detail?id=1131528
147
- // also affected firefox ref #1236 #2750
148
- if (leftPx + widthPx > 0) {
149
- // make small exons more visible when zoomed far out
150
- const adjustPx = widthPx - (bpPerPx > 10 ? 1.5 : 0)
151
- ctx.clearRect(leftPx, topPx, adjustPx, heightPx)
152
- fillRect(
153
- ctx,
154
- Math.max(0, leftPx),
155
- topPx + heightPx / 2 - 1,
156
- adjustPx + (leftPx < 0 ? leftPx : 0),
157
- 2,
158
- canvasWidth,
159
- '#333',
160
- )
161
- }
162
- }
163
- }
164
-
165
- // second pass, draw wide insertion markers on top
166
- if (drawIndels) {
167
- for (let i = 0; i < mismatches.length; i += 1) {
168
- const mismatch = mismatches[i]
169
- const mstart = start + mismatch.start
170
- const mlen = mismatch.length
171
- const [leftPx] = bpSpanPx(mstart, mstart + mlen, region, bpPerPx)
172
- const len = +mismatch.base || mismatch.length
173
- const txt = `${len}`
174
- if (mismatch.type === 'insertion' && len >= 10) {
175
- if (bpPerPx > largeInsertionIndicatorScale) {
176
- fillRect(ctx, leftPx - 1, topPx, 2, heightPx, canvasWidth, 'purple')
177
- } else if (heightPx > charHeight) {
178
- const rwidth = measureText(txt)
179
- const padding = 5
180
- fillRect(
181
- ctx,
182
- leftPx - rwidth / 2 - padding,
183
- topPx,
184
- rwidth + 2 * padding,
185
- heightPx,
186
- canvasWidth,
187
- 'purple',
188
- )
189
- ctx.fillStyle = 'white'
190
- ctx.fillText(txt, leftPx - rwidth / 2, topPx + heightPx)
191
- } else {
192
- const padding = 2
193
- fillRect(
194
- ctx,
195
- leftPx - padding,
196
- topPx,
197
- 2 * padding,
198
- heightPx,
199
- canvasWidth,
200
- 'purple',
201
- )
202
- }
203
- }
204
- }
205
- }
206
- }