@jbrowse/plugin-alignments 1.7.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +192 -207
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -0
  3. package/dist/AlignmentsFeatureDetail/index.d.ts +28 -3
  4. package/dist/AlignmentsFeatureDetail/index.js +48 -55
  5. package/dist/AlignmentsFeatureDetail/index.js.map +1 -0
  6. package/dist/AlignmentsTrack/index.js +24 -32
  7. package/dist/AlignmentsTrack/index.js.map +1 -0
  8. package/dist/BamAdapter/BamAdapter.js +345 -585
  9. package/dist/BamAdapter/BamAdapter.js.map +1 -0
  10. package/dist/BamAdapter/BamSlightlyLazyFeature.js +143 -174
  11. package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +1 -0
  12. package/dist/BamAdapter/MismatchParser.js +340 -416
  13. package/dist/BamAdapter/MismatchParser.js.map +1 -0
  14. package/dist/BamAdapter/configSchema.js +33 -46
  15. package/dist/BamAdapter/configSchema.js.map +1 -0
  16. package/dist/BamAdapter/index.js +36 -32
  17. package/dist/BamAdapter/index.js.map +1 -0
  18. package/dist/CramAdapter/CramAdapter.js +376 -644
  19. package/dist/CramAdapter/CramAdapter.js.map +1 -0
  20. package/dist/CramAdapter/CramSlightlyLazyFeature.js +374 -439
  21. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -0
  22. package/dist/CramAdapter/CramTestAdapters.js +169 -227
  23. package/dist/CramAdapter/CramTestAdapters.js.map +1 -0
  24. package/dist/CramAdapter/configSchema.js +28 -38
  25. package/dist/CramAdapter/configSchema.js.map +1 -0
  26. package/dist/CramAdapter/index.js +37 -32
  27. package/dist/CramAdapter/index.js.map +1 -0
  28. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +91 -93
  29. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -0
  30. package/dist/HtsgetBamAdapter/configSchema.js +19 -29
  31. package/dist/HtsgetBamAdapter/configSchema.js.map +1 -0
  32. package/dist/HtsgetBamAdapter/index.js +44 -38
  33. package/dist/HtsgetBamAdapter/index.js.map +1 -0
  34. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +36 -65
  35. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -0
  36. package/dist/LinearAlignmentsDisplay/index.js +22 -28
  37. package/dist/LinearAlignmentsDisplay/index.js.map +1 -0
  38. package/dist/LinearAlignmentsDisplay/models/configSchema.js +12 -23
  39. package/dist/LinearAlignmentsDisplay/models/configSchema.js.map +1 -0
  40. package/dist/LinearAlignmentsDisplay/models/model.d.ts +10 -10
  41. package/dist/LinearAlignmentsDisplay/models/model.js +257 -245
  42. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -0
  43. package/dist/LinearPileupDisplay/components/ColorByModifications.js +98 -116
  44. package/dist/LinearPileupDisplay/components/ColorByModifications.js.map +1 -0
  45. package/dist/LinearPileupDisplay/components/ColorByTag.js +82 -91
  46. package/dist/LinearPileupDisplay/components/ColorByTag.js.map +1 -0
  47. package/dist/LinearPileupDisplay/components/FilterByTag.js +156 -192
  48. package/dist/LinearPileupDisplay/components/FilterByTag.js.map +1 -0
  49. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +15 -29
  50. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -0
  51. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +79 -93
  52. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -0
  53. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +78 -81
  54. package/dist/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -0
  55. package/dist/LinearPileupDisplay/components/SortByTag.js +80 -88
  56. package/dist/LinearPileupDisplay/components/SortByTag.js.map +1 -0
  57. package/dist/LinearPileupDisplay/configSchema.js +40 -42
  58. package/dist/LinearPileupDisplay/configSchema.js.map +1 -0
  59. package/dist/LinearPileupDisplay/index.js +21 -27
  60. package/dist/LinearPileupDisplay/index.js.map +1 -0
  61. package/dist/LinearPileupDisplay/model.d.ts +33 -20
  62. package/dist/LinearPileupDisplay/model.js +702 -716
  63. package/dist/LinearPileupDisplay/model.js.map +1 -0
  64. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  65. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +105 -57
  66. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js.map +1 -0
  67. package/dist/LinearSNPCoverageDisplay/index.js +21 -27
  68. package/dist/LinearSNPCoverageDisplay/index.js.map +1 -0
  69. package/dist/LinearSNPCoverageDisplay/models/configSchema.js +45 -55
  70. package/dist/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -0
  71. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +14 -12
  72. package/dist/LinearSNPCoverageDisplay/models/model.js +257 -230
  73. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -0
  74. package/dist/NestedFrequencyTable.js +104 -139
  75. package/dist/NestedFrequencyTable.js.map +1 -0
  76. package/dist/PileupRPC/rpcMethods.js +199 -278
  77. package/dist/PileupRPC/rpcMethods.js.map +1 -0
  78. package/dist/PileupRenderer/PileupLayoutSession.js +56 -76
  79. package/dist/PileupRenderer/PileupLayoutSession.js.map +1 -0
  80. package/dist/PileupRenderer/PileupRenderer.d.ts +56 -11
  81. package/dist/PileupRenderer/PileupRenderer.js +942 -1134
  82. package/dist/PileupRenderer/PileupRenderer.js.map +1 -0
  83. package/dist/PileupRenderer/components/PileupRendering.d.ts +1 -1
  84. package/dist/PileupRenderer/components/PileupRendering.js +173 -253
  85. package/dist/PileupRenderer/components/PileupRendering.js.map +1 -0
  86. package/dist/PileupRenderer/configSchema.js +65 -71
  87. package/dist/PileupRenderer/configSchema.js.map +1 -0
  88. package/dist/PileupRenderer/index.js +17 -22
  89. package/dist/PileupRenderer/index.js.map +1 -0
  90. package/dist/PileupRenderer/sortUtil.js +83 -107
  91. package/dist/PileupRenderer/sortUtil.js.map +1 -0
  92. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +2 -0
  93. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +436 -586
  94. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -0
  95. package/dist/SNPCoverageAdapter/configSchema.js +10 -20
  96. package/dist/SNPCoverageAdapter/configSchema.js.map +1 -0
  97. package/dist/SNPCoverageAdapter/index.js +46 -41
  98. package/dist/SNPCoverageAdapter/index.js.map +1 -0
  99. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -1
  100. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +265 -290
  101. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -0
  102. package/dist/SNPCoverageRenderer/configSchema.js +30 -39
  103. package/dist/SNPCoverageRenderer/configSchema.js.map +1 -0
  104. package/dist/SNPCoverageRenderer/index.js +19 -30
  105. package/dist/SNPCoverageRenderer/index.js.map +1 -0
  106. package/dist/index.js +135 -152
  107. package/dist/index.js.map +1 -0
  108. package/dist/shared.js +84 -92
  109. package/dist/shared.js.map +1 -0
  110. package/dist/util.js +130 -121
  111. package/dist/util.js.map +1 -0
  112. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +6 -0
  113. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +145 -0
  114. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -0
  115. package/esm/AlignmentsFeatureDetail/index.d.ts +38 -0
  116. package/esm/AlignmentsFeatureDetail/index.js +23 -0
  117. package/esm/AlignmentsFeatureDetail/index.js.map +1 -0
  118. package/esm/AlignmentsTrack/index.d.ts +2 -0
  119. package/esm/AlignmentsTrack/index.js +23 -0
  120. package/esm/AlignmentsTrack/index.js.map +1 -0
  121. package/esm/BamAdapter/BamAdapter.d.ts +40 -0
  122. package/esm/BamAdapter/BamAdapter.js +173 -0
  123. package/esm/BamAdapter/BamAdapter.js.map +1 -0
  124. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +33 -0
  125. package/esm/BamAdapter/BamSlightlyLazyFeature.js +107 -0
  126. package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -0
  127. package/esm/BamAdapter/MismatchParser.d.ts +25 -0
  128. package/esm/BamAdapter/MismatchParser.js +294 -0
  129. package/esm/BamAdapter/MismatchParser.js.map +1 -0
  130. package/esm/BamAdapter/configSchema.d.ts +2 -0
  131. package/esm/BamAdapter/configSchema.js +31 -0
  132. package/esm/BamAdapter/configSchema.js.map +1 -0
  133. package/esm/BamAdapter/index.d.ts +3 -0
  134. package/esm/BamAdapter/index.js +10 -0
  135. package/esm/BamAdapter/index.js.map +1 -0
  136. package/esm/CramAdapter/CramAdapter.d.ts +53 -0
  137. package/esm/CramAdapter/CramAdapter.js +228 -0
  138. package/esm/CramAdapter/CramAdapter.js.map +1 -0
  139. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +49 -0
  140. package/esm/CramAdapter/CramSlightlyLazyFeature.js +349 -0
  141. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -0
  142. package/esm/CramAdapter/CramTestAdapters.d.ts +29 -0
  143. package/esm/CramAdapter/CramTestAdapters.js +70 -0
  144. package/esm/CramAdapter/CramTestAdapters.js.map +1 -0
  145. package/esm/CramAdapter/configSchema.d.ts +3 -0
  146. package/esm/CramAdapter/configSchema.js +26 -0
  147. package/esm/CramAdapter/configSchema.js.map +1 -0
  148. package/esm/CramAdapter/index.d.ts +3 -0
  149. package/esm/CramAdapter/index.js +11 -0
  150. package/esm/CramAdapter/index.js.map +1 -0
  151. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +9 -0
  152. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js +27 -0
  153. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -0
  154. package/esm/HtsgetBamAdapter/configSchema.d.ts +2 -0
  155. package/esm/HtsgetBamAdapter/configSchema.js +17 -0
  156. package/esm/HtsgetBamAdapter/configSchema.js.map +1 -0
  157. package/esm/HtsgetBamAdapter/index.d.ts +3 -0
  158. package/esm/HtsgetBamAdapter/index.js +16 -0
  159. package/esm/HtsgetBamAdapter/index.js.map +1 -0
  160. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +7 -0
  161. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +34 -0
  162. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -0
  163. package/esm/LinearAlignmentsDisplay/index.d.ts +2 -0
  164. package/esm/LinearAlignmentsDisplay/index.js +19 -0
  165. package/esm/LinearAlignmentsDisplay/index.js.map +1 -0
  166. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +4 -0
  167. package/esm/LinearAlignmentsDisplay/models/configSchema.js +12 -0
  168. package/esm/LinearAlignmentsDisplay/models/configSchema.js.map +1 -0
  169. package/esm/LinearAlignmentsDisplay/models/model.d.ts +105 -0
  170. package/esm/LinearAlignmentsDisplay/models/model.js +181 -0
  171. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -0
  172. package/esm/LinearPileupDisplay/components/ColorByModifications.d.ts +14 -0
  173. package/esm/LinearPileupDisplay/components/ColorByModifications.js +71 -0
  174. package/esm/LinearPileupDisplay/components/ColorByModifications.js.map +1 -0
  175. package/esm/LinearPileupDisplay/components/ColorByTag.d.ts +9 -0
  176. package/esm/LinearPileupDisplay/components/ColorByTag.js +45 -0
  177. package/esm/LinearPileupDisplay/components/ColorByTag.js.map +1 -0
  178. package/esm/LinearPileupDisplay/components/FilterByTag.d.ts +18 -0
  179. package/esm/LinearPileupDisplay/components/FilterByTag.js +123 -0
  180. package/esm/LinearPileupDisplay/components/FilterByTag.js.map +1 -0
  181. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +13 -0
  182. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +13 -0
  183. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -0
  184. package/esm/LinearPileupDisplay/components/SetFeatureHeight.d.ts +16 -0
  185. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js +41 -0
  186. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -0
  187. package/esm/LinearPileupDisplay/components/SetMaxHeight.d.ts +10 -0
  188. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +43 -0
  189. package/esm/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -0
  190. package/esm/LinearPileupDisplay/components/SortByTag.d.ts +9 -0
  191. package/esm/LinearPileupDisplay/components/SortByTag.js +43 -0
  192. package/esm/LinearPileupDisplay/components/SortByTag.js.map +1 -0
  193. package/esm/LinearPileupDisplay/configSchema.d.ts +6 -0
  194. package/esm/LinearPileupDisplay/configSchema.js +41 -0
  195. package/esm/LinearPileupDisplay/configSchema.js.map +1 -0
  196. package/esm/LinearPileupDisplay/index.d.ts +2 -0
  197. package/esm/LinearPileupDisplay/index.js +18 -0
  198. package/esm/LinearPileupDisplay/index.js.map +1 -0
  199. package/esm/LinearPileupDisplay/model.d.ts +332 -0
  200. package/esm/LinearPileupDisplay/model.js +576 -0
  201. package/esm/LinearPileupDisplay/model.js.map +1 -0
  202. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +10 -0
  203. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +57 -0
  204. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js.map +1 -0
  205. package/esm/LinearSNPCoverageDisplay/index.d.ts +2 -0
  206. package/esm/LinearSNPCoverageDisplay/index.js +18 -0
  207. package/esm/LinearSNPCoverageDisplay/index.js.map +1 -0
  208. package/esm/LinearSNPCoverageDisplay/models/configSchema.d.ts +2 -0
  209. package/esm/LinearSNPCoverageDisplay/models/configSchema.js +44 -0
  210. package/esm/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -0
  211. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +348 -0
  212. package/esm/LinearSNPCoverageDisplay/models/model.js +185 -0
  213. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -0
  214. package/esm/NestedFrequencyTable.d.ts +14 -0
  215. package/esm/NestedFrequencyTable.js +101 -0
  216. package/esm/NestedFrequencyTable.js.map +1 -0
  217. package/esm/PileupRPC/rpcMethods.d.ts +34 -0
  218. package/esm/PileupRPC/rpcMethods.js +70 -0
  219. package/esm/PileupRPC/rpcMethods.js.map +1 -0
  220. package/esm/PileupRenderer/PileupLayoutSession.d.ts +32 -0
  221. package/esm/PileupRenderer/PileupLayoutSession.js +32 -0
  222. package/esm/PileupRenderer/PileupLayoutSession.js.map +1 -0
  223. package/esm/PileupRenderer/PileupRenderer.d.ts +182 -0
  224. package/esm/PileupRenderer/PileupRenderer.js +830 -0
  225. package/esm/PileupRenderer/PileupRenderer.js.map +1 -0
  226. package/esm/PileupRenderer/components/PileupRendering.d.ts +23 -0
  227. package/esm/PileupRenderer/components/PileupRendering.js +138 -0
  228. package/esm/PileupRenderer/components/PileupRendering.js.map +1 -0
  229. package/esm/PileupRenderer/configSchema.d.ts +2 -0
  230. package/esm/PileupRenderer/configSchema.js +64 -0
  231. package/esm/PileupRenderer/configSchema.js.map +1 -0
  232. package/esm/PileupRenderer/index.d.ts +2 -0
  233. package/esm/PileupRenderer/index.js +12 -0
  234. package/esm/PileupRenderer/index.js.map +1 -0
  235. package/esm/PileupRenderer/sortUtil.d.ts +8 -0
  236. package/esm/PileupRenderer/sortUtil.js +80 -0
  237. package/esm/PileupRenderer/sortUtil.js.map +1 -0
  238. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +67 -0
  239. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +259 -0
  240. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -0
  241. package/esm/SNPCoverageAdapter/configSchema.d.ts +3 -0
  242. package/esm/SNPCoverageAdapter/configSchema.js +6 -0
  243. package/esm/SNPCoverageAdapter/configSchema.js.map +1 -0
  244. package/esm/SNPCoverageAdapter/index.d.ts +3 -0
  245. package/esm/SNPCoverageAdapter/index.js +18 -0
  246. package/esm/SNPCoverageAdapter/index.js.map +1 -0
  247. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +20 -0
  248. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +185 -0
  249. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -0
  250. package/esm/SNPCoverageRenderer/configSchema.d.ts +2 -0
  251. package/esm/SNPCoverageRenderer/configSchema.js +29 -0
  252. package/esm/SNPCoverageRenderer/configSchema.js.map +1 -0
  253. package/esm/SNPCoverageRenderer/index.d.ts +3 -0
  254. package/esm/SNPCoverageRenderer/index.js +14 -0
  255. package/esm/SNPCoverageRenderer/index.js.map +1 -0
  256. package/esm/index.d.ts +10 -0
  257. package/esm/index.js +91 -0
  258. package/esm/index.js.map +1 -0
  259. package/esm/shared.d.ts +25 -0
  260. package/esm/shared.js +28 -0
  261. package/esm/shared.js.map +1 -0
  262. package/esm/util.d.ts +19 -0
  263. package/esm/util.js +83 -0
  264. package/esm/util.js.map +1 -0
  265. package/package.json +19 -11
  266. package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +16 -6
  267. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +321 -397
  268. package/src/AlignmentsFeatureDetail/index.ts +7 -17
  269. package/src/BamAdapter/MismatchParser.ts +1 -0
  270. package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +3 -3
  271. package/src/LinearPileupDisplay/components/ColorByModifications.tsx +7 -7
  272. package/src/LinearPileupDisplay/components/ColorByTag.tsx +5 -5
  273. package/src/LinearPileupDisplay/components/FilterByTag.tsx +5 -5
  274. package/src/LinearPileupDisplay/components/LinearPileupDisplayBlurb.tsx +1 -1
  275. package/src/LinearPileupDisplay/components/SetFeatureHeight.tsx +9 -9
  276. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +5 -5
  277. package/src/LinearPileupDisplay/components/SortByTag.tsx +5 -5
  278. package/src/LinearPileupDisplay/model.ts +90 -32
  279. package/src/LinearSNPCoverageDisplay/components/Tooltip.tsx +44 -30
  280. package/src/LinearSNPCoverageDisplay/models/model.ts +25 -25
  281. package/src/PileupRenderer/PileupRenderer.tsx +399 -198
  282. package/src/PileupRenderer/components/PileupRendering.tsx +11 -11
  283. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +5 -0
  284. package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +7 -5
  285. package/dist/AlignmentsFeatureDetail/index.test.js +0 -60
  286. package/dist/BamAdapter/BamAdapter.test.js +0 -177
  287. package/dist/BamAdapter/MismatchParser.test.js +0 -251
  288. package/dist/CramAdapter/CramAdapter.test.js +0 -138
  289. package/dist/LinearAlignmentsDisplay/models/configSchema.test.js +0 -83
  290. package/dist/LinearPileupDisplay/configSchema.test.js +0 -92
  291. package/dist/LinearSNPCoverageDisplay/models/configSchema.test.js +0 -62
  292. package/dist/PileupRenderer/components/PileupRendering.test.js +0 -36
  293. package/dist/declare.d.js +0 -1
  294. package/dist/index.test.js +0 -26
package/esm/index.js ADDED
@@ -0,0 +1,91 @@
1
+ import Plugin from '@jbrowse/core/Plugin';
2
+ import * as MismatchParser from './BamAdapter/MismatchParser';
3
+ import BamAdapterF from './CramAdapter';
4
+ import CramAdapterF from './BamAdapter';
5
+ import HtsgetBamAdapterF from './HtsgetBamAdapter';
6
+ import SNPCoverageAdapterF from './SNPCoverageAdapter';
7
+ import SNPCoverageRendererF from './SNPCoverageRenderer';
8
+ import PileupRendererF from './PileupRenderer';
9
+ import LinearAlignmentsDisplayF from './LinearAlignmentsDisplay';
10
+ import LinearSNPCoverageDisplayF from './LinearSNPCoverageDisplay';
11
+ import LinearPileupDisplayF from './LinearPileupDisplay';
12
+ import AlignmentsTrackF from './AlignmentsTrack';
13
+ import AlignmentsFeatureWidgetF from './AlignmentsFeatureDetail';
14
+ import { PileupGetGlobalValueForTag, PileupGetVisibleModifications, } from './PileupRPC/rpcMethods';
15
+ import { makeIndex, makeIndexType, getFileName, } from '@jbrowse/core/util/tracks';
16
+ export { MismatchParser };
17
+ export default class AlignmentsPlugin extends Plugin {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.name = 'AlignmentsPlugin';
21
+ }
22
+ install(pluginManager) {
23
+ ;
24
+ [
25
+ CramAdapterF,
26
+ BamAdapterF,
27
+ LinearPileupDisplayF,
28
+ LinearSNPCoverageDisplayF,
29
+ AlignmentsTrackF,
30
+ SNPCoverageAdapterF,
31
+ HtsgetBamAdapterF,
32
+ PileupRendererF,
33
+ SNPCoverageRendererF,
34
+ LinearAlignmentsDisplayF,
35
+ AlignmentsFeatureWidgetF,
36
+ ].map(f => f(pluginManager));
37
+ pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
38
+ return (file, index, adapterHint) => {
39
+ const regexGuess = /\.cram$/i;
40
+ const adapterName = 'CramAdapter';
41
+ const fileName = getFileName(file);
42
+ const obj = {
43
+ type: adapterName,
44
+ cramLocation: file,
45
+ craiLocation: index || makeIndex(file, '.crai'),
46
+ };
47
+ if (regexGuess.test(fileName) && !adapterHint) {
48
+ return obj;
49
+ }
50
+ else if (adapterHint === adapterName) {
51
+ return obj;
52
+ }
53
+ return adapterGuesser(file, index, adapterHint);
54
+ };
55
+ });
56
+ pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
57
+ return (file, index, adapterHint) => {
58
+ const regexGuess = /\.bam$/i;
59
+ const adapterName = 'BamAdapter';
60
+ const fileName = getFileName(file);
61
+ const indexName = index && getFileName(index);
62
+ const obj = {
63
+ type: adapterName,
64
+ bamLocation: file,
65
+ index: {
66
+ location: index || makeIndex(file, '.bai'),
67
+ indexType: makeIndexType(indexName, 'CSI', 'BAI'),
68
+ },
69
+ };
70
+ if (regexGuess.test(fileName) && !adapterHint) {
71
+ return obj;
72
+ }
73
+ else if (adapterHint === adapterName) {
74
+ return obj;
75
+ }
76
+ return adapterGuesser(file, index, adapterHint);
77
+ };
78
+ });
79
+ pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
80
+ return (adapterName) => {
81
+ if (adapterName === 'BamAdapter' || adapterName === 'CramAdapter') {
82
+ return 'AlignmentsTrack';
83
+ }
84
+ return trackTypeGuesser(adapterName);
85
+ };
86
+ });
87
+ pluginManager.addRpcMethod(() => new PileupGetGlobalValueForTag(pluginManager));
88
+ pluginManager.addRpcMethod(() => new PileupGetVisibleModifications(pluginManager));
89
+ }
90
+ }
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { BlockSet } from '@jbrowse/core/util/blockTypes';
2
+ import { IAnyStateTreeNode } from 'mobx-state-tree';
3
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
4
+ export declare function getUniqueTagValues(self: IAnyStateTreeNode & {
5
+ adapterConfig: AnyConfigurationModel;
6
+ }, colorScheme: {
7
+ type: string;
8
+ tag?: string;
9
+ }, blocks: BlockSet, opts?: {
10
+ headers?: Record<string, string>;
11
+ signal?: AbortSignal;
12
+ filters?: string[];
13
+ }): Promise<string[]>;
14
+ export declare function getUniqueModificationValues(self: IAnyStateTreeNode & {
15
+ parentTrack: IAnyStateTreeNode & {
16
+ configuration: AnyConfigurationModel;
17
+ };
18
+ }, adapterConfig: AnyConfigurationModel, colorScheme: {
19
+ type: string;
20
+ tag?: string;
21
+ }, blocks: BlockSet, opts?: {
22
+ headers?: Record<string, string>;
23
+ signal?: AbortSignal;
24
+ filters?: string[];
25
+ }): Promise<string[]>;
package/esm/shared.js ADDED
@@ -0,0 +1,28 @@
1
+ import { getSession } from '@jbrowse/core/util';
2
+ import { getRpcSessionId } from '@jbrowse/core/util/tracks';
3
+ export async function getUniqueTagValues(self, colorScheme, blocks, opts) {
4
+ const { rpcManager } = getSession(self);
5
+ const { adapterConfig } = self;
6
+ const sessionId = getRpcSessionId(self);
7
+ const values = await rpcManager.call(getRpcSessionId(self), 'PileupGetGlobalValueForTag', {
8
+ adapterConfig,
9
+ tag: colorScheme.tag,
10
+ sessionId,
11
+ regions: blocks.contentBlocks,
12
+ ...opts,
13
+ });
14
+ return values;
15
+ }
16
+ export async function getUniqueModificationValues(self, adapterConfig, colorScheme, blocks, opts) {
17
+ const { rpcManager } = getSession(self);
18
+ const sessionId = getRpcSessionId(self);
19
+ const values = await rpcManager.call(sessionId, 'PileupGetVisibleModifications', {
20
+ adapterConfig,
21
+ tag: colorScheme.tag,
22
+ sessionId,
23
+ regions: blocks.contentBlocks,
24
+ ...opts,
25
+ });
26
+ return values;
27
+ }
28
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAkE,EAClE,WAA2C,EAC3C,MAAgB,EAChB,IAIC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;IAC9B,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAClC,eAAe,CAAC,IAAI,CAAC,EACrB,4BAA4B,EAC5B;QACE,aAAa;QACb,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,SAAS;QACT,OAAO,EAAE,MAAM,CAAC,aAAa;QAC7B,GAAG,IAAI;KACR,CACF,CAAA;IACD,OAAO,MAAkB,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAEC,EACD,aAAoC,EACpC,WAA2C,EAC3C,MAAgB,EAChB,IAIC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAClC,SAAS,EACT,+BAA+B,EAC/B;QACE,aAAa;QACb,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,SAAS;QACT,OAAO,EAAE,MAAM,CAAC,aAAa;QAC7B,GAAG,IAAI;KACR,CACF,CAAA;IACD,OAAO,MAAkB,CAAA;AAC3B,CAAC"}
package/esm/util.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { Feature } from '@jbrowse/core/util/simpleFeature';
3
+ import { AugmentedRegion } from '@jbrowse/core/util';
4
+ export declare function getTag(feature: Feature, tag: string): any;
5
+ export declare function getTagAlt(feature: Feature, tag: string, alt: string): any;
6
+ export declare const orientationTypes: {
7
+ fr: {
8
+ [key: string]: string;
9
+ };
10
+ rf: {
11
+ [key: string]: string;
12
+ };
13
+ ff: {
14
+ [key: string]: string;
15
+ };
16
+ };
17
+ export declare function getColorWGBS(strand: number, base: string): "#f00" | "#00f" | "#888";
18
+ export declare function fetchSequence(region: AugmentedRegion, adapter: BaseFeatureDataAdapter): Promise<any>;
19
+ export declare function shouldFetchReferenceSequence(type?: string): boolean;
package/esm/util.js ADDED
@@ -0,0 +1,83 @@
1
+ import { toArray } from 'rxjs/operators';
2
+ // get tag from BAM or CRAM feature, where CRAM uses feature.get('tags') and
3
+ // BAM does not
4
+ export function getTag(feature, tag) {
5
+ const tags = feature.get('tags');
6
+ return tags ? tags[tag] : feature.get(tag);
7
+ }
8
+ // use fallback alt tag, used in situations where upper case/lower case tags
9
+ // exist e.g. Mm/MM for base modifications
10
+ export function getTagAlt(feature, tag, alt) {
11
+ return getTag(feature, tag) || getTag(feature, alt);
12
+ }
13
+ // orientation definitions from igv.js, see also
14
+ // https://software.broadinstitute.org/software/igv/interpreting_pair_orientations
15
+ export const orientationTypes = {
16
+ fr: {
17
+ F1R2: 'LR',
18
+ F2R1: 'LR',
19
+ F1F2: 'LL',
20
+ F2F1: 'LL',
21
+ R1R2: 'RR',
22
+ R2R1: 'RR',
23
+ R1F2: 'RL',
24
+ R2F1: 'RL',
25
+ },
26
+ rf: {
27
+ R1F2: 'LR',
28
+ R2F1: 'LR',
29
+ R1R2: 'LL',
30
+ R2R1: 'LL',
31
+ F1F2: 'RR',
32
+ F2F1: 'RR',
33
+ F1R2: 'RL',
34
+ F2R1: 'RL',
35
+ },
36
+ ff: {
37
+ F2F1: 'LR',
38
+ R1R2: 'LR',
39
+ F2R1: 'LL',
40
+ R1F2: 'LL',
41
+ R2F1: 'RR',
42
+ F1R2: 'RR',
43
+ R2R1: 'RL',
44
+ F1F2: 'RL',
45
+ },
46
+ };
47
+ export function getColorWGBS(strand, base) {
48
+ if (strand === 1) {
49
+ if (base === 'C') {
50
+ return '#f00';
51
+ }
52
+ if (base === 'T') {
53
+ return '#00f';
54
+ }
55
+ }
56
+ else if (strand === -1) {
57
+ if (base === 'G') {
58
+ return '#f00';
59
+ }
60
+ if (base === 'A') {
61
+ return '#00f';
62
+ }
63
+ }
64
+ return '#888';
65
+ }
66
+ export async function fetchSequence(region, adapter) {
67
+ var _a;
68
+ const { end, originalRefName, refName } = region;
69
+ const feats = await adapter
70
+ .getFeatures({
71
+ ...region,
72
+ refName: originalRefName || refName,
73
+ end: end + 1,
74
+ })
75
+ .pipe(toArray())
76
+ .toPromise();
77
+ return (_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq');
78
+ }
79
+ // has to check underlying C-G (aka CpG) on the reference sequence
80
+ export function shouldFetchReferenceSequence(type) {
81
+ return type === 'methylation';
82
+ }
83
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAGxC,4EAA4E;AAC5E,eAAe;AACf,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,GAAW;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC5C,CAAC;AAED,4EAA4E;AAC5E,0CAA0C;AAC1C,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,GAAW,EAAE,GAAW;IAClE,OAAO,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC;AAED,gDAAgD;AAChD,kFAAkF;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACkB;IAE9B,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACkB;IAE9B,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QAEV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACkB;CAC/B,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAAY;IACvD,IAAI,MAAM,KAAK,CAAC,EAAE;QAChB,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,OAAO,MAAM,CAAA;SACd;QACD,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,OAAO,MAAM,CAAA;SACd;KACF;SAAM,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;QACxB,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,OAAO,MAAM,CAAA;SACd;QACD,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,OAAO,MAAM,CAAA;SACd;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,OAA+B;;IAE/B,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAEhD,MAAM,KAAK,GAAG,MAAM,OAAO;SACxB,WAAW,CAAC;QACX,GAAG,MAAM;QACT,OAAO,EAAE,eAAe,IAAI,OAAO;QACnC,GAAG,EAAE,GAAG,GAAG,CAAC;KACb,CAAC;SACD,IAAI,CAAC,OAAO,EAAE,CAAC;SACf,SAAS,EAAE,CAAA;IACd,OAAO,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,OAAO,IAAI,KAAK,aAAa,CAAA;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-alignments",
3
- "version": "1.7.9",
3
+ "version": "2.0.0",
4
4
  "description": "JBrowse 2 alignments adapters, tracks, etc.",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -20,23 +20,27 @@
20
20
  "main": "dist/index.js",
21
21
  "files": [
22
22
  "dist",
23
+ "esm",
23
24
  "src"
24
25
  ],
25
26
  "scripts": {
26
- "build": "babel src --root-mode upward --out-dir dist --extensions .ts,.js,.tsx,.jsx",
27
- "postbuild": "tsc --build tsconfig.build.json",
27
+ "build": "npm-run-all build:*",
28
28
  "test": "cd ../..; jest plugins/alignments",
29
29
  "prepublishOnly": "yarn test",
30
30
  "prepack": "yarn build; yarn useDist",
31
31
  "postpack": "yarn useSrc",
32
32
  "useDist": "node ../../scripts/useDist.js",
33
- "useSrc": "node ../../scripts/useSrc.js"
33
+ "useSrc": "node ../../scripts/useSrc.js",
34
+ "prebuild": "npm run clean",
35
+ "build:esm": "tsc --build tsconfig.build.esm.json",
36
+ "build:es5": "tsc --build tsconfig.build.es5.json",
37
+ "clean": "rimraf dist esm *.tsbuildinfo"
34
38
  },
35
39
  "dependencies": {
36
40
  "@babel/runtime": "^7.17.9",
37
41
  "@gmod/bam": "^1.1.15",
38
42
  "@gmod/cram": "^1.6.4",
39
- "@material-ui/icons": "^4.9.1",
43
+ "@mui/icons-material": "^5.0.1",
40
44
  "color": "^3.1.2",
41
45
  "copy-to-clipboard": "^3.3.1",
42
46
  "fast-deep-equal": "^3.1.3",
@@ -46,16 +50,20 @@
46
50
  "@jbrowse/core": "^1.0.0",
47
51
  "@jbrowse/plugin-linear-genome-view": "^1.0.0",
48
52
  "@jbrowse/plugin-wiggle": "^1.0.0",
49
- "@material-ui/core": "^4.12.2",
50
- "mobx": "^5.10.1",
51
- "mobx-react": "^6.0.0",
52
- "mobx-state-tree": "3.14.1",
53
+ "@mui/material": "^5.0.0",
54
+ "mobx": "^6.0.0",
55
+ "mobx-react": "^7.0.0",
56
+ "mobx-state-tree": "^5.0.0",
53
57
  "prop-types": "^15.0.0",
54
58
  "react": ">=16.8.0",
55
- "rxjs": "^6.0.0"
59
+ "rxjs": "^6.0.0",
60
+ "tss-react": "^3.0.0"
56
61
  },
57
62
  "publishConfig": {
58
63
  "access": "public"
59
64
  },
60
- "gitHead": "a6504c385d703ce6e755d05652ef659ffe28c864"
65
+ "distModule": "esm/index.js",
66
+ "srcModule": "src/index.ts",
67
+ "module": "esm/index.js",
68
+ "gitHead": "ecc7f5d47351a5ea04bc00f3a6eb6dfb607342e6"
61
69
  }
@@ -6,8 +6,8 @@ import {
6
6
  Checkbox,
7
7
  FormControlLabel,
8
8
  FormGroup,
9
- makeStyles,
10
- } from '@material-ui/core'
9
+ } from '@mui/material'
10
+ import { makeStyles } from 'tss-react/mui'
11
11
  import { observer } from 'mobx-react'
12
12
  import { getSession } from '@jbrowse/core/util'
13
13
  import copy from 'copy-to-clipboard'
@@ -18,7 +18,7 @@ import {
18
18
  } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail'
19
19
  import { parseCigar } from '../BamAdapter/MismatchParser'
20
20
 
21
- const useStyles = makeStyles(() => ({
21
+ const useStyles = makeStyles()(() => ({
22
22
  compact: {
23
23
  paddingRight: 0,
24
24
  paddingTop: 0,
@@ -30,7 +30,7 @@ const omit = ['clipPos', 'flags']
30
30
 
31
31
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
32
  function AlignmentFlags(props: { feature: any }) {
33
- const classes = useStyles()
33
+ const { classes } = useStyles()
34
34
  const { feature } = props
35
35
  const { flags } = feature
36
36
  const flagNames = [
@@ -77,12 +77,22 @@ function AlignmentFlags(props: { feature: any }) {
77
77
 
78
78
  function Formatter({ value }: { value: unknown }) {
79
79
  const [show, setShow] = useState(false)
80
+ const [copied, setCopied] = useState(false)
80
81
  const display = String(value)
81
82
  if (display.length > 100) {
82
83
  return (
83
84
  <>
84
- <button type="button" onClick={() => copy(display)}>
85
- Copy
85
+ <button
86
+ type="button"
87
+ onClick={() => {
88
+ copy(display)
89
+ setCopied(true)
90
+ setTimeout(() => {
91
+ setCopied(false)
92
+ }, 700)
93
+ }}
94
+ >
95
+ {copied ? 'Copied to clipboard' : 'Copy'}
86
96
  </button>
87
97
  <button type="button" onClick={() => setShow(val => !val)}>
88
98
  {show ? 'Show less' : 'Show more'}