@jbrowse/plugin-alignments 1.7.11 → 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 (289) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +192 -216
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -0
  3. package/dist/AlignmentsFeatureDetail/index.d.ts +3 -3
  4. package/dist/AlignmentsFeatureDetail/index.js +48 -44
  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 -417
  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 +27 -17
  62. package/dist/LinearPileupDisplay/model.js +702 -797
  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 +104 -77
  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 +13 -11
  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 +4 -4
  81. package/dist/PileupRenderer/PileupRenderer.js +938 -1205
  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.js +436 -589
  93. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -0
  94. package/dist/SNPCoverageAdapter/configSchema.js +10 -20
  95. package/dist/SNPCoverageAdapter/configSchema.js.map +1 -0
  96. package/dist/SNPCoverageAdapter/index.js +46 -41
  97. package/dist/SNPCoverageAdapter/index.js.map +1 -0
  98. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -1
  99. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +265 -290
  100. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -0
  101. package/dist/SNPCoverageRenderer/configSchema.js +30 -39
  102. package/dist/SNPCoverageRenderer/configSchema.js.map +1 -0
  103. package/dist/SNPCoverageRenderer/index.js +19 -30
  104. package/dist/SNPCoverageRenderer/index.js.map +1 -0
  105. package/dist/index.js +135 -152
  106. package/dist/index.js.map +1 -0
  107. package/dist/shared.js +84 -92
  108. package/dist/shared.js.map +1 -0
  109. package/dist/util.js +130 -121
  110. package/dist/util.js.map +1 -0
  111. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +6 -0
  112. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +145 -0
  113. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -0
  114. package/esm/AlignmentsFeatureDetail/index.d.ts +38 -0
  115. package/esm/AlignmentsFeatureDetail/index.js +23 -0
  116. package/esm/AlignmentsFeatureDetail/index.js.map +1 -0
  117. package/esm/AlignmentsTrack/index.d.ts +2 -0
  118. package/esm/AlignmentsTrack/index.js +23 -0
  119. package/esm/AlignmentsTrack/index.js.map +1 -0
  120. package/esm/BamAdapter/BamAdapter.d.ts +40 -0
  121. package/esm/BamAdapter/BamAdapter.js +173 -0
  122. package/esm/BamAdapter/BamAdapter.js.map +1 -0
  123. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +33 -0
  124. package/esm/BamAdapter/BamSlightlyLazyFeature.js +107 -0
  125. package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -0
  126. package/esm/BamAdapter/MismatchParser.d.ts +25 -0
  127. package/esm/BamAdapter/MismatchParser.js +294 -0
  128. package/esm/BamAdapter/MismatchParser.js.map +1 -0
  129. package/esm/BamAdapter/configSchema.d.ts +2 -0
  130. package/esm/BamAdapter/configSchema.js +31 -0
  131. package/esm/BamAdapter/configSchema.js.map +1 -0
  132. package/esm/BamAdapter/index.d.ts +3 -0
  133. package/esm/BamAdapter/index.js +10 -0
  134. package/esm/BamAdapter/index.js.map +1 -0
  135. package/esm/CramAdapter/CramAdapter.d.ts +53 -0
  136. package/esm/CramAdapter/CramAdapter.js +228 -0
  137. package/esm/CramAdapter/CramAdapter.js.map +1 -0
  138. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +49 -0
  139. package/esm/CramAdapter/CramSlightlyLazyFeature.js +349 -0
  140. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -0
  141. package/esm/CramAdapter/CramTestAdapters.d.ts +29 -0
  142. package/esm/CramAdapter/CramTestAdapters.js +70 -0
  143. package/esm/CramAdapter/CramTestAdapters.js.map +1 -0
  144. package/esm/CramAdapter/configSchema.d.ts +3 -0
  145. package/esm/CramAdapter/configSchema.js +26 -0
  146. package/esm/CramAdapter/configSchema.js.map +1 -0
  147. package/esm/CramAdapter/index.d.ts +3 -0
  148. package/esm/CramAdapter/index.js +11 -0
  149. package/esm/CramAdapter/index.js.map +1 -0
  150. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +9 -0
  151. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js +27 -0
  152. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -0
  153. package/esm/HtsgetBamAdapter/configSchema.d.ts +2 -0
  154. package/esm/HtsgetBamAdapter/configSchema.js +17 -0
  155. package/esm/HtsgetBamAdapter/configSchema.js.map +1 -0
  156. package/esm/HtsgetBamAdapter/index.d.ts +3 -0
  157. package/esm/HtsgetBamAdapter/index.js +16 -0
  158. package/esm/HtsgetBamAdapter/index.js.map +1 -0
  159. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +7 -0
  160. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +34 -0
  161. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -0
  162. package/esm/LinearAlignmentsDisplay/index.d.ts +2 -0
  163. package/esm/LinearAlignmentsDisplay/index.js +19 -0
  164. package/esm/LinearAlignmentsDisplay/index.js.map +1 -0
  165. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +4 -0
  166. package/esm/LinearAlignmentsDisplay/models/configSchema.js +12 -0
  167. package/esm/LinearAlignmentsDisplay/models/configSchema.js.map +1 -0
  168. package/esm/LinearAlignmentsDisplay/models/model.d.ts +105 -0
  169. package/esm/LinearAlignmentsDisplay/models/model.js +181 -0
  170. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -0
  171. package/esm/LinearPileupDisplay/components/ColorByModifications.d.ts +14 -0
  172. package/esm/LinearPileupDisplay/components/ColorByModifications.js +71 -0
  173. package/esm/LinearPileupDisplay/components/ColorByModifications.js.map +1 -0
  174. package/esm/LinearPileupDisplay/components/ColorByTag.d.ts +9 -0
  175. package/esm/LinearPileupDisplay/components/ColorByTag.js +45 -0
  176. package/esm/LinearPileupDisplay/components/ColorByTag.js.map +1 -0
  177. package/esm/LinearPileupDisplay/components/FilterByTag.d.ts +18 -0
  178. package/esm/LinearPileupDisplay/components/FilterByTag.js +123 -0
  179. package/esm/LinearPileupDisplay/components/FilterByTag.js.map +1 -0
  180. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +13 -0
  181. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +13 -0
  182. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -0
  183. package/esm/LinearPileupDisplay/components/SetFeatureHeight.d.ts +16 -0
  184. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js +41 -0
  185. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -0
  186. package/esm/LinearPileupDisplay/components/SetMaxHeight.d.ts +10 -0
  187. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +43 -0
  188. package/esm/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -0
  189. package/esm/LinearPileupDisplay/components/SortByTag.d.ts +9 -0
  190. package/esm/LinearPileupDisplay/components/SortByTag.js +43 -0
  191. package/esm/LinearPileupDisplay/components/SortByTag.js.map +1 -0
  192. package/esm/LinearPileupDisplay/configSchema.d.ts +6 -0
  193. package/esm/LinearPileupDisplay/configSchema.js +41 -0
  194. package/esm/LinearPileupDisplay/configSchema.js.map +1 -0
  195. package/esm/LinearPileupDisplay/index.d.ts +2 -0
  196. package/esm/LinearPileupDisplay/index.js +18 -0
  197. package/esm/LinearPileupDisplay/index.js.map +1 -0
  198. package/esm/LinearPileupDisplay/model.d.ts +332 -0
  199. package/esm/LinearPileupDisplay/model.js +576 -0
  200. package/esm/LinearPileupDisplay/model.js.map +1 -0
  201. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +10 -0
  202. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +57 -0
  203. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js.map +1 -0
  204. package/esm/LinearSNPCoverageDisplay/index.d.ts +2 -0
  205. package/esm/LinearSNPCoverageDisplay/index.js +18 -0
  206. package/esm/LinearSNPCoverageDisplay/index.js.map +1 -0
  207. package/esm/LinearSNPCoverageDisplay/models/configSchema.d.ts +2 -0
  208. package/esm/LinearSNPCoverageDisplay/models/configSchema.js +44 -0
  209. package/esm/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -0
  210. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +348 -0
  211. package/esm/LinearSNPCoverageDisplay/models/model.js +185 -0
  212. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -0
  213. package/esm/NestedFrequencyTable.d.ts +14 -0
  214. package/esm/NestedFrequencyTable.js +101 -0
  215. package/esm/NestedFrequencyTable.js.map +1 -0
  216. package/esm/PileupRPC/rpcMethods.d.ts +34 -0
  217. package/esm/PileupRPC/rpcMethods.js +70 -0
  218. package/esm/PileupRPC/rpcMethods.js.map +1 -0
  219. package/esm/PileupRenderer/PileupLayoutSession.d.ts +32 -0
  220. package/esm/PileupRenderer/PileupLayoutSession.js +32 -0
  221. package/esm/PileupRenderer/PileupLayoutSession.js.map +1 -0
  222. package/esm/PileupRenderer/PileupRenderer.d.ts +182 -0
  223. package/esm/PileupRenderer/PileupRenderer.js +830 -0
  224. package/esm/PileupRenderer/PileupRenderer.js.map +1 -0
  225. package/esm/PileupRenderer/components/PileupRendering.d.ts +23 -0
  226. package/esm/PileupRenderer/components/PileupRendering.js +138 -0
  227. package/esm/PileupRenderer/components/PileupRendering.js.map +1 -0
  228. package/esm/PileupRenderer/configSchema.d.ts +2 -0
  229. package/esm/PileupRenderer/configSchema.js +64 -0
  230. package/esm/PileupRenderer/configSchema.js.map +1 -0
  231. package/esm/PileupRenderer/index.d.ts +2 -0
  232. package/esm/PileupRenderer/index.js +12 -0
  233. package/esm/PileupRenderer/index.js.map +1 -0
  234. package/esm/PileupRenderer/sortUtil.d.ts +8 -0
  235. package/esm/PileupRenderer/sortUtil.js +80 -0
  236. package/esm/PileupRenderer/sortUtil.js.map +1 -0
  237. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +67 -0
  238. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +259 -0
  239. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -0
  240. package/esm/SNPCoverageAdapter/configSchema.d.ts +3 -0
  241. package/esm/SNPCoverageAdapter/configSchema.js +6 -0
  242. package/esm/SNPCoverageAdapter/configSchema.js.map +1 -0
  243. package/esm/SNPCoverageAdapter/index.d.ts +3 -0
  244. package/esm/SNPCoverageAdapter/index.js +18 -0
  245. package/esm/SNPCoverageAdapter/index.js.map +1 -0
  246. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +20 -0
  247. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +185 -0
  248. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -0
  249. package/esm/SNPCoverageRenderer/configSchema.d.ts +2 -0
  250. package/esm/SNPCoverageRenderer/configSchema.js +29 -0
  251. package/esm/SNPCoverageRenderer/configSchema.js.map +1 -0
  252. package/esm/SNPCoverageRenderer/index.d.ts +3 -0
  253. package/esm/SNPCoverageRenderer/index.js +14 -0
  254. package/esm/SNPCoverageRenderer/index.js.map +1 -0
  255. package/esm/index.d.ts +10 -0
  256. package/esm/index.js +91 -0
  257. package/esm/index.js.map +1 -0
  258. package/esm/shared.d.ts +25 -0
  259. package/esm/shared.js +28 -0
  260. package/esm/shared.js.map +1 -0
  261. package/esm/util.d.ts +19 -0
  262. package/esm/util.js +83 -0
  263. package/esm/util.js.map +1 -0
  264. package/package.json +19 -11
  265. package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +4 -4
  266. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +321 -397
  267. package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +3 -3
  268. package/src/LinearPileupDisplay/components/ColorByModifications.tsx +7 -7
  269. package/src/LinearPileupDisplay/components/ColorByTag.tsx +5 -5
  270. package/src/LinearPileupDisplay/components/FilterByTag.tsx +5 -5
  271. package/src/LinearPileupDisplay/components/LinearPileupDisplayBlurb.tsx +1 -1
  272. package/src/LinearPileupDisplay/components/SetFeatureHeight.tsx +9 -9
  273. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +5 -5
  274. package/src/LinearPileupDisplay/components/SortByTag.tsx +5 -5
  275. package/src/LinearPileupDisplay/model.ts +16 -10
  276. package/src/LinearSNPCoverageDisplay/models/model.ts +25 -25
  277. package/src/PileupRenderer/PileupRenderer.tsx +54 -40
  278. package/src/PileupRenderer/components/PileupRendering.tsx +11 -11
  279. package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +7 -5
  280. package/dist/AlignmentsFeatureDetail/index.test.js +0 -60
  281. package/dist/BamAdapter/BamAdapter.test.js +0 -177
  282. package/dist/BamAdapter/MismatchParser.test.js +0 -251
  283. package/dist/CramAdapter/CramAdapter.test.js +0 -138
  284. package/dist/LinearAlignmentsDisplay/models/configSchema.test.js +0 -83
  285. package/dist/LinearPileupDisplay/configSchema.test.js +0 -92
  286. package/dist/LinearSNPCoverageDisplay/models/configSchema.test.js +0 -62
  287. package/dist/PileupRenderer/components/PileupRendering.test.js +0 -36
  288. package/dist/declare.d.js +0 -1
  289. package/dist/index.test.js +0 -26
@@ -39,7 +39,7 @@ interface SNPInfo {
39
39
  export default class SNPCoverageRenderer extends WiggleBaseRenderer {
40
40
  // note: the snps are drawn on linear scale even if the data is drawn in log
41
41
  // scape hence the two different scales being used
42
- draw(
42
+ async draw(
43
43
  ctx: CanvasRenderingContext2D,
44
44
  props: RenderArgsDeserializedWithFeatures,
45
45
  ) {
@@ -94,11 +94,13 @@ export default class SNPCoverageRenderer extends WiggleBaseRenderer {
94
94
  const indicatorToHeight = (n: number) =>
95
95
  indicatorToY(getOrigin('linear')) - indicatorToY(n)
96
96
 
97
+ // @ts-ignore
98
+ const { bases } = theme.palette
97
99
  const colorForBase: { [key: string]: string } = {
98
- A: theme.palette.bases.A.main,
99
- C: theme.palette.bases.C.main,
100
- G: theme.palette.bases.G.main,
101
- T: theme.palette.bases.T.main,
100
+ A: bases.A.main,
101
+ C: bases.C.main,
102
+ G: bases.G.main,
103
+ T: bases.T.main,
102
104
  total: 'lightgrey',
103
105
  insertion: 'purple',
104
106
  softclip: 'blue',
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _react = require("@testing-library/react");
6
-
7
- var _mobxStateTree = require("mobx-state-tree");
8
-
9
- var _react2 = _interopRequireDefault(require("react"));
10
-
11
- var _PluginManager = _interopRequireDefault(require("@jbrowse/core/PluginManager"));
12
-
13
- var _configuration = require("@jbrowse/core/configuration");
14
-
15
- var _ = require(".");
16
-
17
- var _AlignmentsFeatureDetail = _interopRequireDefault(require("./AlignmentsFeatureDetail"));
18
-
19
- test('open up a widget', function () {
20
- console.warn = jest.fn();
21
- var pluginManager = new _PluginManager.default([]);
22
-
23
- var Session = _mobxStateTree.types.model({
24
- pluginManager: _mobxStateTree.types.optional(_mobxStateTree.types.frozen(), {}),
25
- rpcManager: _mobxStateTree.types.optional(_mobxStateTree.types.frozen(), {}),
26
- configuration: (0, _configuration.ConfigurationSchema)('test', {}),
27
- widget: (0, _.stateModelFactory)(pluginManager)
28
- });
29
-
30
- var session = Session.create({
31
- widget: {
32
- type: 'AlignmentsFeatureWidget'
33
- }
34
- });
35
- session.widget.setFeatureData({
36
- seq: 'TTGTTGCGGAGTTGAACAACGGCATTAGGAACACTTCCGTCTCTCACTTTTATACGATTATGATTGGTTCTTTAGCCTTGGTTTAGATTGGTAGTAGTAG',
37
- start: 2,
38
- end: 102,
39
- strand: 1,
40
- score: 37,
41
- qual: '17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17',
42
- MQ: 37,
43
- CIGAR: '100M',
44
- length_on_ref: 100,
45
- template_length: 0,
46
- seq_length: 100,
47
- name: 'ctgA_3_555_0:0:0_2:0:0_102d',
48
- refName: 'ctgA',
49
- type: 'match'
50
- });
51
-
52
- var _render = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_AlignmentsFeatureDetail.default, {
53
- model: session.widget
54
- })),
55
- container = _render.container,
56
- getByText = _render.getByText;
57
-
58
- expect(container.firstChild).toMatchSnapshot();
59
- expect(getByText('ctgA:3..102 (+)')).toBeTruthy();
60
- });
@@ -1,177 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
- var _operators = require("rxjs/operators");
10
-
11
- var _BamAdapter = _interopRequireDefault(require("./BamAdapter"));
12
-
13
- var _configSchema = _interopRequireDefault(require("./configSchema"));
14
-
15
- test('adapter can fetch features from volvox.bam', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
16
- var adapter, features, featuresArray, featuresJsonArray, adapterCSI, featuresCSI, featuresArrayCSI, featuresJsonArrayCSI;
17
- return _regenerator.default.wrap(function _callee$(_context) {
18
- while (1) {
19
- switch (_context.prev = _context.next) {
20
- case 0:
21
- adapter = new _BamAdapter.default(_configSchema.default.create({
22
- bamLocation: {
23
- localPath: require.resolve('../../test_data/volvox-sorted.bam'),
24
- locationType: 'LocalPathLocation'
25
- },
26
- index: {
27
- location: {
28
- localPath: require.resolve('../../test_data/volvox-sorted.bam.bai'),
29
- locationType: 'LocalPathLocation'
30
- }
31
- }
32
- }));
33
- features = adapter.getFeatures({
34
- assemblyName: 'volvox',
35
- refName: 'ctgA',
36
- start: 0,
37
- end: 20000
38
- });
39
- _context.next = 4;
40
- return features.pipe((0, _operators.toArray)()).toPromise();
41
-
42
- case 4:
43
- featuresArray = _context.sent;
44
- expect(featuresArray[0].get('refName')).toBe('ctgA');
45
- featuresJsonArray = featuresArray.map(function (f) {
46
- return f.toJSON();
47
- });
48
- expect(featuresJsonArray.length).toEqual(3809);
49
- expect(featuresJsonArray.slice(1000, 1010)).toMatchSnapshot();
50
- expect(adapter.refIdToName(0)).toBe('ctgA');
51
- expect(adapter.refIdToName(1)).toBe(undefined);
52
- _context.t0 = expect;
53
- _context.next = 14;
54
- return adapter.hasDataForRefName('ctgA');
55
-
56
- case 14:
57
- _context.t1 = _context.sent;
58
- (0, _context.t0)(_context.t1).toBe(true);
59
- adapterCSI = new _BamAdapter.default(_configSchema.default.create({
60
- bamLocation: {
61
- localPath: require.resolve('../../test_data/volvox-sorted.bam'),
62
- locationType: 'LocalPathLocation'
63
- },
64
- index: {
65
- indexType: 'CSI',
66
- location: {
67
- localPath: require.resolve('../../test_data/volvox-sorted.bam.csi'),
68
- locationType: 'LocalPathLocation'
69
- }
70
- }
71
- }));
72
- featuresCSI = adapterCSI.getFeatures({
73
- assemblyName: 'volvox',
74
- refName: 'ctgA',
75
- start: 0,
76
- end: 20000
77
- });
78
- _context.next = 20;
79
- return featuresCSI.pipe((0, _operators.toArray)()).toPromise();
80
-
81
- case 20:
82
- featuresArrayCSI = _context.sent;
83
- featuresJsonArrayCSI = featuresArrayCSI.map(function (f) {
84
- return f.toJSON();
85
- });
86
- expect(featuresJsonArrayCSI).toEqual(featuresJsonArray);
87
-
88
- case 23:
89
- case "end":
90
- return _context.stop();
91
- }
92
- }
93
- }, _callee);
94
- })));
95
- test('test usage of BamSlightlyLazyFeature toJSON (used in the widget)', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
96
- var adapter, features, featuresArray, f;
97
- return _regenerator.default.wrap(function _callee2$(_context2) {
98
- while (1) {
99
- switch (_context2.prev = _context2.next) {
100
- case 0:
101
- adapter = new _BamAdapter.default(_configSchema.default.create({
102
- bamLocation: {
103
- localPath: require.resolve('../../test_data/volvox-sorted.bam'),
104
- locationType: 'LocalPathLocation'
105
- },
106
- index: {
107
- location: {
108
- localPath: require.resolve('../../test_data/volvox-sorted.bam.bai'),
109
- locationType: 'LocalPathLocation'
110
- },
111
- indexType: 'BAI'
112
- }
113
- }));
114
- features = adapter.getFeatures({
115
- assemblyName: 'volvox',
116
- refName: 'ctgA',
117
- start: 0,
118
- end: 100
119
- });
120
- _context2.next = 4;
121
- return features.pipe((0, _operators.toArray)()).toPromise();
122
-
123
- case 4:
124
- featuresArray = _context2.sent;
125
- f = featuresArray[0].toJSON();
126
- expect(f.refName).toBe('ctgA');
127
- expect(f.start).toBe(2);
128
- expect(f.end).toBe(102);
129
- expect(f.mismatches).not.toBeTruthy();
130
-
131
- case 10:
132
- case "end":
133
- return _context2.stop();
134
- }
135
- }
136
- }, _callee2);
137
- })));
138
- test('test usage of BamSlightlyLazyFeature for extended CIGAR', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
139
- var adapter, features, featuresArray, f;
140
- return _regenerator.default.wrap(function _callee3$(_context3) {
141
- while (1) {
142
- switch (_context3.prev = _context3.next) {
143
- case 0:
144
- adapter = new _BamAdapter.default(_configSchema.default.create({
145
- bamLocation: {
146
- localPath: require.resolve('../../test_data/extended_cigar.bam'),
147
- locationType: 'LocalPathLocation'
148
- },
149
- index: {
150
- location: {
151
- localPath: require.resolve('../../test_data/extended_cigar.bam.bai'),
152
- locationType: 'LocalPathLocation'
153
- },
154
- indexType: 'BAI'
155
- }
156
- }));
157
- features = adapter.getFeatures({
158
- assemblyName: 'hg19',
159
- refName: '1',
160
- start: 13260,
161
- end: 13340
162
- });
163
- _context3.next = 4;
164
- return features.pipe((0, _operators.toArray)()).toPromise();
165
-
166
- case 4:
167
- featuresArray = _context3.sent;
168
- f = featuresArray[0];
169
- expect(f.get('mismatches')).toMatchSnapshot();
170
-
171
- case 7:
172
- case "end":
173
- return _context3.stop();
174
- }
175
- }
176
- }, _callee3);
177
- })));
@@ -1,251 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
6
-
7
- var _MismatchParser = require("./MismatchParser");
8
-
9
- var seq = 'AAAAAAAAAACAAAAAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCGGGGGGGGGGGGGGGGGGGGGGGGGTTTTTTTTTTTTTTTTTTTTTTTTT'; // examples come from https://github.com/vsbuffalo/devnotes/wiki/The-MD-Tag-in-BAM-Files
10
- // and http://seqanswers.com/forums/showthread.php?t=8978
11
-
12
- test('cigar to mismatches', function () {
13
- expect((0, _MismatchParser.cigarToMismatches)((0, _MismatchParser.parseCigar)('56M1D45M'), seq)).toEqual([{
14
- start: 56,
15
- type: 'deletion',
16
- base: '*',
17
- length: 1
18
- }]);
19
- });
20
- test('md to mismatches', function () {
21
- var cigarMismatches = (0, _MismatchParser.cigarToMismatches)((0, _MismatchParser.parseCigar)('56M1D45M'), seq);
22
- expect((0, _MismatchParser.mdToMismatches)('10A80', (0, _MismatchParser.parseCigar)('56M1D45M'), cigarMismatches, seq)).toEqual([{
23
- start: 10,
24
- type: 'mismatch',
25
- base: 'C',
26
- altbase: 'A',
27
- length: 1
28
- }]);
29
- });
30
- describe('get mismatches', function () {
31
- it('simple deletion', function () {
32
- // simple deletion
33
- expect((0, _MismatchParser.getMismatches)('56M1D45M', '56^A45', seq)).toEqual([{
34
- start: 56,
35
- type: 'deletion',
36
- base: '*',
37
- length: 1
38
- }]);
39
- });
40
- it('simple insertion', function () {
41
- // simple insertion
42
- expect((0, _MismatchParser.getMismatches)('89M1I11M', '100', 'AAAAAAAAAACAAAAAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCGGGGGGGGGGGGGGGGGGGGGGGGGTTTTTTTTTTTTTTTTTTTTTTTTTA')).toEqual([{
43
- start: 89,
44
- type: 'insertion',
45
- base: '1',
46
- length: 0
47
- }]);
48
- });
49
- it('deletion and a SNP', function () {
50
- // contains a deletion and a SNP
51
- // read GGGGG--ATTTTTT
52
- // ||||| ||||||
53
- // GGGGGACCTTTTTT
54
- expect((0, _MismatchParser.getMismatches)('5M2D6M', '5^AC0C5', 'GGGGGATTTTTT')).toEqual([{
55
- start: 5,
56
- type: 'deletion',
57
- base: '*',
58
- length: 2
59
- }, {
60
- start: 7,
61
- type: 'mismatch',
62
- base: 'A',
63
- altbase: 'C',
64
- length: 1
65
- }]);
66
- });
67
- it('0-length MD entries', function () {
68
- // 0-length MD entries, which indicates two SNPs right next to each other
69
- // "They generally occur between SNPs, or between a deletion then a SNP."
70
- // http://seqanswers.com/forums/showthread.php?t=8978
71
- //
72
- // read GGGGGCATTTTT
73
- // ||||| |||||
74
- // ref GGGGGACTTTTT
75
- expect((0, _MismatchParser.getMismatches)('12M', '5A0C5', 'GGGGGCATTTTT')).toEqual([{
76
- altbase: 'A',
77
- base: 'C',
78
- length: 1,
79
- start: 5,
80
- type: 'mismatch'
81
- }, {
82
- altbase: 'C',
83
- base: 'A',
84
- length: 1,
85
- start: 6,
86
- type: 'mismatch'
87
- }]);
88
- });
89
- it('non-0-length-MD string', function () {
90
- // same as above but with the non-0-length MD string
91
- // not sure if it is entirely legal, but may appear in the wild
92
- expect((0, _MismatchParser.getMismatches)('12M', '5AC5', 'GGGGGCATTTTT')).toEqual([{
93
- altbase: 'A',
94
- base: 'C',
95
- length: 1,
96
- start: 5,
97
- type: 'mismatch'
98
- }, {
99
- altbase: 'C',
100
- base: 'A',
101
- length: 1,
102
- start: 6,
103
- type: 'mismatch'
104
- }]);
105
- });
106
- });
107
- test('basic skip', function () {
108
- expect((0, _MismatchParser.getMismatches)('6M200N6M', '5AC5', 'GGGGGCATTTTT')).toEqual([{
109
- base: 'N',
110
- length: 200,
111
- start: 6,
112
- type: 'skip'
113
- }, {
114
- altbase: 'A',
115
- base: 'C',
116
- length: 1,
117
- start: 5,
118
- type: 'mismatch'
119
- }, {
120
- altbase: 'C',
121
- base: 'A',
122
- length: 1,
123
- start: 206,
124
- type: 'mismatch'
125
- }]);
126
- });
127
- test('vsbuffalo', function () {
128
- // https://github.com/vsbuffalo/devnotes/wiki/The-MD-Tag-in-BAM-Files
129
- // example 1
130
- expect((0, _MismatchParser.getMismatches)('89M1I11M', '100', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')).toEqual([{
131
- base: '1',
132
- length: 0,
133
- start: 89,
134
- type: 'insertion'
135
- }]); // https://github.com/vsbuffalo/devnotes/wiki/The-MD-Tag-in-BAM-Files
136
- // example 2
137
-
138
- expect((0, _MismatchParser.getMismatches)('9M1I91M', '48T42G8', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')).toEqual([{
139
- base: '1',
140
- length: 0,
141
- start: 9,
142
- type: 'insertion'
143
- }, {
144
- altbase: 'T',
145
- base: 'A',
146
- length: 1,
147
- start: 48,
148
- type: 'mismatch'
149
- }, {
150
- altbase: 'G',
151
- base: 'A',
152
- length: 1,
153
- start: 91,
154
- type: 'mismatch'
155
- }]);
156
- });
157
- test('more skip', function () {
158
- expect((0, _MismatchParser.getMismatches)('3M200N3M200N3M', '8A', 'GGGGGCATTTTT')).toEqual([{
159
- base: 'N',
160
- length: 200,
161
- start: 3,
162
- type: 'skip'
163
- }, {
164
- base: 'N',
165
- length: 200,
166
- start: 206,
167
- type: 'skip'
168
- }, {
169
- altbase: 'A',
170
- base: 'T',
171
- length: 1,
172
- start: 408,
173
- type: 'mismatch'
174
- }]);
175
- expect((0, _MismatchParser.getMismatches)('31M1I17M1D37M', '6G4C20G1A5C5A1^C3A15G1G15', seq).sort(function (a, b) {
176
- return a.start - b.start;
177
- })).toMatchInlineSnapshot("\n Array [\n Object {\n \"altbase\": \"G\",\n \"base\": \"A\",\n \"length\": 1,\n \"start\": 6,\n \"type\": \"mismatch\",\n },\n Object {\n \"altbase\": \"C\",\n \"base\": \"A\",\n \"length\": 1,\n \"start\": 11,\n \"type\": \"mismatch\",\n },\n Object {\n \"base\": \"1\",\n \"length\": 0,\n \"start\": 31,\n \"type\": \"insertion\",\n },\n Object {\n \"altbase\": \"G\",\n \"base\": \"C\",\n \"length\": 1,\n \"start\": 32,\n \"type\": \"mismatch\",\n },\n Object {\n \"altbase\": \"A\",\n \"base\": \"C\",\n \"length\": 1,\n \"start\": 34,\n \"type\": \"mismatch\",\n },\n Object {\n \"altbase\": \"C\",\n \"base\": \"C\",\n \"length\": 1,\n \"start\": 40,\n \"type\": \"mismatch\",\n },\n Object {\n \"altbase\": \"A\",\n \"base\": \"C\",\n \"length\": 1,\n \"start\": 46,\n \"type\": \"mismatch\",\n },\n Object {\n \"base\": \"*\",\n \"length\": 1,\n \"start\": 48,\n \"type\": \"deletion\",\n },\n Object {\n \"altbase\": \"A\",\n \"base\": \"G\",\n \"length\": 1,\n \"start\": 52,\n \"type\": \"mismatch\",\n },\n Object {\n \"altbase\": \"G\",\n \"base\": \"G\",\n \"length\": 1,\n \"start\": 68,\n \"type\": \"mismatch\",\n },\n Object {\n \"altbase\": \"G\",\n \"base\": \"G\",\n \"length\": 1,\n \"start\": 70,\n \"type\": \"mismatch\",\n },\n ]\n ");
178
- });
179
- test('clipping', function () {
180
- expect((0, _MismatchParser.getMismatches)('200H10M200H', '9A', 'AAAAAAAAAC')).toEqual([{
181
- cliplen: 200,
182
- base: 'H200',
183
- length: 1,
184
- start: 0,
185
- type: 'hardclip'
186
- }, {
187
- cliplen: 200,
188
- base: 'H200',
189
- length: 1,
190
- start: 10,
191
- type: 'hardclip'
192
- }, {
193
- altbase: 'A',
194
- base: 'C',
195
- length: 1,
196
- start: 9,
197
- type: 'mismatch'
198
- }]);
199
- expect((0, _MismatchParser.getMismatches)('10S10M10S', '9A', 'AAAAAAAAAAGGGGGGGGGC')).toEqual([{
200
- cliplen: 10,
201
- base: 'S10',
202
- length: 1,
203
- start: 0,
204
- type: 'softclip'
205
- }, {
206
- cliplen: 10,
207
- base: 'S10',
208
- length: 1,
209
- start: 10,
210
- type: 'softclip'
211
- }, {
212
- altbase: 'A',
213
- base: 'C',
214
- length: 1,
215
- start: 9,
216
- type: 'mismatch'
217
- }]);
218
- });
219
- test('getNextRefPos test 1', function () {
220
- var cigar = (0, _MismatchParser.parseCigar)('10S10M1I4M1D15M');
221
- var iter = (0, _MismatchParser.getNextRefPos)(cigar, [5, 10, 15, 20, 25, 30, 35]);
222
- expect((0, _toConsumableArray2.default)(iter)).toEqual([0, 5, 15, 20, 25]);
223
- });
224
- test('getNextRefPos test 2', function () {
225
- var cigar = (0, _MismatchParser.parseCigar)('10S15M');
226
- var iter = (0, _MismatchParser.getNextRefPos)(cigar, [5, 10, 15]);
227
- expect((0, _toConsumableArray2.default)(iter)).toEqual([0, 5]);
228
- });
229
- test('getModificationPositions', function () {
230
- var positions = (0, _MismatchParser.getModificationPositions)('C+m,2,2,1,4,1', 'AGCTCTCCAGAGTCGNACGCCATYCGCGCGCCACCA', 1);
231
- expect(positions[0]).toEqual({
232
- type: 'm',
233
- positions: [6, 17, 20, 31, 34]
234
- });
235
- }); // ? means "modification status of the skipped bases provided."
236
-
237
- test('getModificationPositions with unknown (?)', function () {
238
- var positions = (0, _MismatchParser.getModificationPositions)('C+m?,2,2,1,4,1', 'AGCTCTCCAGAGTCGNACGCCATYCGCGCGCCACCA', 1);
239
- expect(positions[0]).toEqual({
240
- type: 'm',
241
- positions: [6, 17, 20, 31, 34]
242
- });
243
- }); // . means "modification status of the skipped bases is low probability"
244
-
245
- test('getModificationPositions with unknown (.)', function () {
246
- var positions = (0, _MismatchParser.getModificationPositions)('C+m.,2,2,1,4,1', 'AGCTCTCCAGAGTCGNACGCCATYCGCGCGCCACCA', 1);
247
- expect(positions[0]).toEqual({
248
- type: 'm',
249
- positions: [6, 17, 20, 31, 34]
250
- });
251
- });
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
- var _operators = require("rxjs/operators");
10
-
11
- var _genericFilehandle = require("generic-filehandle");
12
-
13
- var _PluginManager = _interopRequireDefault(require("@jbrowse/core/PluginManager"));
14
-
15
- var _CramAdapter = _interopRequireDefault(require("./CramAdapter"));
16
-
17
- var _CramTestAdapters = require("./CramTestAdapters");
18
-
19
- var _configSchema = _interopRequireDefault(require("./configSchema"));
20
-
21
- var pluginManager = new _PluginManager.default();
22
- var configSchema = pluginManager.load(_configSchema.default);
23
-
24
- var getVolvoxSequenceSubAdapter = /*#__PURE__*/function () {
25
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
26
- return _regenerator.default.wrap(function _callee$(_context) {
27
- while (1) {
28
- switch (_context.prev = _context.next) {
29
- case 0:
30
- return _context.abrupt("return", {
31
- dataAdapter: new _CramTestAdapters.SequenceAdapter(new _genericFilehandle.LocalFile(require.resolve('../../test_data/volvox.fa'))),
32
- sessionIds: new Set()
33
- });
34
-
35
- case 1:
36
- case "end":
37
- return _context.stop();
38
- }
39
- }
40
- }, _callee);
41
- }));
42
-
43
- return function getVolvoxSequenceSubAdapter() {
44
- return _ref.apply(this, arguments);
45
- };
46
- }();
47
-
48
- test('adapter can fetch features from volvox-sorted.cram', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
49
- var adapter, features, featuresArray, featuresJsonArray;
50
- return _regenerator.default.wrap(function _callee2$(_context2) {
51
- while (1) {
52
- switch (_context2.prev = _context2.next) {
53
- case 0:
54
- adapter = new _CramAdapter.default(configSchema.create({
55
- cramLocation: {
56
- localPath: require.resolve('../../test_data/volvox-sorted.cram'),
57
- locationType: 'LocalPathLocation'
58
- },
59
- craiLocation: {
60
- localPath: require.resolve('../../test_data/volvox-sorted.cram.crai'),
61
- locationType: 'LocalPathLocation'
62
- }
63
- }), getVolvoxSequenceSubAdapter, pluginManager);
64
- features = adapter.getFeatures({
65
- assemblyName: 'volvox',
66
- refName: 'ctgA',
67
- start: 0,
68
- end: 20000
69
- });
70
- _context2.next = 4;
71
- return features.pipe((0, _operators.toArray)()).toPromise();
72
-
73
- case 4:
74
- featuresArray = _context2.sent;
75
- expect(featuresArray[0].get('refName')).toBe('ctgA');
76
- featuresJsonArray = featuresArray.map(function (f) {
77
- return f.toJSON();
78
- });
79
- expect(featuresJsonArray.length).toEqual(3809);
80
- expect(featuresJsonArray.slice(1000, 1010)).toMatchSnapshot();
81
- expect(adapter.refIdToName(0)).toBe('ctgA');
82
- expect(adapter.refIdToName(1)).toBe(undefined);
83
- _context2.t0 = expect;
84
- _context2.next = 14;
85
- return adapter.hasDataForRefName('ctgA');
86
-
87
- case 14:
88
- _context2.t1 = _context2.sent;
89
- (0, _context2.t0)(_context2.t1).toBe(true);
90
-
91
- case 16:
92
- case "end":
93
- return _context2.stop();
94
- }
95
- }
96
- }, _callee2);
97
- })));
98
- test('test usage of cramSlightlyLazyFeature toJSON (used in the widget)', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
99
- var adapter, features, featuresArray, f;
100
- return _regenerator.default.wrap(function _callee3$(_context3) {
101
- while (1) {
102
- switch (_context3.prev = _context3.next) {
103
- case 0:
104
- adapter = new _CramAdapter.default(configSchema.create({
105
- cramLocation: {
106
- localPath: require.resolve('../../test_data/volvox-sorted.cram'),
107
- locationType: 'LocalPathLocation'
108
- },
109
- craiLocation: {
110
- localPath: require.resolve('../../test_data/volvox-sorted.cram.crai'),
111
- locationType: 'LocalPathLocation'
112
- }
113
- }), getVolvoxSequenceSubAdapter, pluginManager);
114
- features = adapter.getFeatures({
115
- assemblyName: 'volvox',
116
- refName: 'ctgA',
117
- start: 0,
118
- end: 100
119
- });
120
- _context3.next = 4;
121
- return features.pipe((0, _operators.toArray)()).toPromise();
122
-
123
- case 4:
124
- featuresArray = _context3.sent;
125
- f = featuresArray[0].toJSON();
126
- expect(f.refName).toBe('ctgA');
127
- expect(f.start).toBe(2);
128
- expect(f.end).toBe(102); // don't pass the mismatches to the frontend
129
-
130
- expect(f.mismatches).toEqual(undefined);
131
-
132
- case 10:
133
- case "end":
134
- return _context3.stop();
135
- }
136
- }
137
- }, _callee3);
138
- })));