@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
@@ -0,0 +1,123 @@
1
+ import React, { useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, Link, Paper, TextField, Typography, } from '@mui/material';
4
+ import { makeStyles } from 'tss-react/mui';
5
+ import CloseIcon from '@mui/icons-material/Close';
6
+ const useStyles = makeStyles()(theme => ({
7
+ paper: {
8
+ padding: theme.spacing(2),
9
+ margin: theme.spacing(2),
10
+ },
11
+ closeButton: {
12
+ position: 'absolute',
13
+ right: theme.spacing(1),
14
+ top: theme.spacing(1),
15
+ color: theme.palette.grey[500],
16
+ },
17
+ field: {
18
+ margin: theme.spacing(2),
19
+ },
20
+ }));
21
+ const flagNames = [
22
+ 'read paired',
23
+ 'read mapped in proper pair',
24
+ 'read unmapped',
25
+ 'mate unmapped',
26
+ 'read reverse strand',
27
+ 'mate reverse strand',
28
+ 'first in pair',
29
+ 'second in pair',
30
+ 'not primary alignment',
31
+ 'read fails platform/vendor quality checks',
32
+ 'read is PCR or optical duplicate',
33
+ 'supplementary alignment',
34
+ ];
35
+ function Bitmask(props) {
36
+ const { flag = 0, setFlag } = props;
37
+ return (React.createElement(React.Fragment, null,
38
+ React.createElement(TextField, { type: "number", value: flag, onChange: event => setFlag(+event.target.value) }),
39
+ flagNames.map((name, index) => {
40
+ const val = flag & (1 << index);
41
+ const key = `${name}_${val}`;
42
+ return (React.createElement("div", { key: key },
43
+ React.createElement("input", { type: "checkbox", checked: Boolean(val), onChange: event => {
44
+ if (event.target.checked) {
45
+ setFlag(flag | (1 << index));
46
+ }
47
+ else {
48
+ setFlag(flag & ~(1 << index));
49
+ }
50
+ } }),
51
+ React.createElement("label", { htmlFor: key }, name)));
52
+ })));
53
+ }
54
+ function FilterByTagDlg(props) {
55
+ var _a, _b;
56
+ const { model, handleClose } = props;
57
+ const { classes } = useStyles();
58
+ const { filterBy } = model;
59
+ const [flagInclude, setFlagInclude] = useState(filterBy === null || filterBy === void 0 ? void 0 : filterBy.flagInclude);
60
+ const [flagExclude, setFlagExclude] = useState(filterBy === null || filterBy === void 0 ? void 0 : filterBy.flagExclude);
61
+ const [tag, setTag] = useState(((_a = filterBy === null || filterBy === void 0 ? void 0 : filterBy.tagFilter) === null || _a === void 0 ? void 0 : _a.tag) || '');
62
+ const [tagValue, setTagValue] = useState(((_b = filterBy === null || filterBy === void 0 ? void 0 : filterBy.tagFilter) === null || _b === void 0 ? void 0 : _b.value) || '');
63
+ const [readName, setReadName] = useState((filterBy === null || filterBy === void 0 ? void 0 : filterBy.readName) || '');
64
+ const validTag = tag.match(/^[A-Za-z][A-Za-z0-9]$/);
65
+ const site = 'https://broadinstitute.github.io/picard/explain-flags.html';
66
+ return (React.createElement(Dialog, { open: true, onClose: handleClose },
67
+ React.createElement(DialogTitle, null,
68
+ "Filter options",
69
+ React.createElement(IconButton, { "aria-label": "close", className: classes.closeButton, onClick: handleClose },
70
+ React.createElement(CloseIcon, null))),
71
+ React.createElement(DialogContent, null,
72
+ React.createElement(Typography, null,
73
+ "Set filter bitmask options. Refer to ",
74
+ React.createElement(Link, { href: site }, site),
75
+ ' ',
76
+ "for details"),
77
+ React.createElement(Paper, { className: classes.paper, variant: "outlined" },
78
+ React.createElement("div", { style: { display: 'flex' } },
79
+ React.createElement("div", null,
80
+ React.createElement(Typography, null, "Read must have ALL these flags"),
81
+ React.createElement(Bitmask, { flag: flagInclude, setFlag: setFlagInclude })),
82
+ React.createElement("div", null,
83
+ React.createElement(Typography, null, "Read must have NONE of these flags"),
84
+ React.createElement(Bitmask, { flag: flagExclude, setFlag: setFlagExclude })))),
85
+ React.createElement(Paper, { className: classes.paper, variant: "outlined" },
86
+ React.createElement(Typography, null, "Filter by tag name and value. Use * in the value field to get all reads containing any value for that tag. Example: filter tag name SA with value * to get all split/supplementary reads. Other examples include HP for haplotype, or RG for read group"),
87
+ React.createElement(TextField, { className: classes.field, value: tag, onChange: event => {
88
+ setTag(event.target.value);
89
+ }, placeholder: "Enter tag name", inputProps: {
90
+ maxLength: 2,
91
+ 'data-testid': 'color-tag-name-input',
92
+ }, error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '', "data-testid": "color-tag-name" }),
93
+ React.createElement(TextField, { className: classes.field, value: tagValue, onChange: event => {
94
+ setTagValue(event.target.value);
95
+ }, placeholder: "Enter tag value", inputProps: {
96
+ 'data-testid': 'color-tag-name-input',
97
+ }, "data-testid": "color-tag-value" })),
98
+ React.createElement(Paper, { className: classes.paper, variant: "outlined" },
99
+ React.createElement(Typography, null, "Filter by read name"),
100
+ React.createElement(TextField, { className: classes.field, value: readName, onChange: event => {
101
+ setReadName(event.target.value);
102
+ }, placeholder: "Enter read name", inputProps: {
103
+ 'data-testid': 'color-tag-readname-input',
104
+ }, "data-testid": "color-tag-readname" })),
105
+ React.createElement(DialogActions, null,
106
+ React.createElement(Button, { variant: "contained", color: "primary", autoFocus: true, type: "submit", onClick: () => {
107
+ model.setFilterBy({
108
+ flagInclude,
109
+ flagExclude,
110
+ readName,
111
+ tagFilter: tag !== ''
112
+ ? {
113
+ tag,
114
+ value: tagValue,
115
+ }
116
+ : undefined,
117
+ });
118
+ handleClose();
119
+ } }, "Submit"),
120
+ React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => handleClose() }, "Cancel")))));
121
+ }
122
+ export default observer(FilterByTagDlg);
123
+ //# sourceMappingURL=FilterByTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterByTag.js","sourceRoot":"","sources":["../../../src/LinearPileupDisplay/components/FilterByTag.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ export interface LinearPileupDisplayBlurbProps {
3
+ model: {
4
+ sortedBy?: {
5
+ pos: number;
6
+ refName: number;
7
+ type: string;
8
+ };
9
+ };
10
+ }
11
+ declare function LinearPileupDisplayBlurb(props: LinearPileupDisplayBlurbProps): JSX.Element | null;
12
+ declare const _default: typeof LinearPileupDisplayBlurb;
13
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import Typography from '@mui/material/Typography';
4
+ function LinearPileupDisplayBlurb(props) {
5
+ const { model } = props;
6
+ const { sortedBy } = model;
7
+ return sortedBy ? (React.createElement("div", { "data-testid": `blurb-${model.sortedBy}`, style: { backgroundColor: 'white' } },
8
+ React.createElement(Typography, { color: "secondary", variant: "caption" }, model.sortedBy
9
+ ? `Sorted by ${sortedBy.type.toLowerCase()} at ${sortedBy.refName}:${sortedBy.pos}`
10
+ : null))) : null;
11
+ }
12
+ export default observer(LinearPileupDisplayBlurb);
13
+ //# sourceMappingURL=LinearPileupDisplayBlurb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearPileupDisplayBlurb.js","sourceRoot":"","sources":["../../../src/LinearPileupDisplay/components/LinearPileupDisplayBlurb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,UAAU,MAAM,0BAA0B,CAAA;AAYjD,SAAS,wBAAwB,CAAC,KAAoC;IACpE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,4CACe,SAAS,KAAK,CAAC,QAAQ,EAAE,EACtC,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;QAEnC,oBAAC,UAAU,IAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAC,SAAS,IAC5C,KAAK,CAAC,QAAQ;YACb,CAAC,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,QAAQ,CAAC,OAAO,IAC7D,QAAQ,CAAC,GACX,EAAE;YACJ,CAAC,CAAC,IAAI,CACG,CACT,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC;AACD,eAAe,QAAQ,CAAC,wBAAwB,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ declare function SetFeatureHeightDlg(props: {
3
+ model: {
4
+ minScore: number;
5
+ maxScore: number;
6
+ setMinScore: Function;
7
+ setMaxScore: Function;
8
+ setFeatureHeight: Function;
9
+ setNoSpacing: Function;
10
+ featureHeightSetting: number;
11
+ noSpacing: boolean;
12
+ };
13
+ handleClose: () => void;
14
+ }): JSX.Element;
15
+ declare const _default: typeof SetFeatureHeightDlg;
16
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import React, { useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { Button, Checkbox, Dialog, DialogActions, DialogContent, DialogTitle, FormControlLabel, IconButton, TextField, Typography, } from '@mui/material';
4
+ import { makeStyles } from 'tss-react/mui';
5
+ import CloseIcon from '@mui/icons-material/Close';
6
+ const useStyles = makeStyles()(theme => ({
7
+ closeButton: {
8
+ position: 'absolute',
9
+ right: theme.spacing(1),
10
+ top: theme.spacing(1),
11
+ color: theme.palette.grey[500],
12
+ },
13
+ }));
14
+ function SetFeatureHeightDlg(props) {
15
+ const { classes } = useStyles();
16
+ const { model, handleClose } = props;
17
+ const { featureHeightSetting, noSpacing: noSpacingSetting } = model;
18
+ const [height, setHeight] = useState(`${featureHeightSetting}`);
19
+ const [noSpacing, setNoSpacing] = useState(noSpacingSetting);
20
+ const ok = height !== '' && !Number.isNaN(+height);
21
+ return (React.createElement(Dialog, { open: true, onClose: handleClose },
22
+ React.createElement(DialogTitle, null,
23
+ "Set feature height",
24
+ React.createElement(IconButton, { className: classes.closeButton, onClick: handleClose },
25
+ React.createElement(CloseIcon, null))),
26
+ React.createElement(DialogContent, null,
27
+ React.createElement(Typography, null, "Adjust the feature height and whether there is any spacing between features. Setting feature height to 1 and removing spacing makes the display very compact."),
28
+ React.createElement(TextField, { value: height, helperText: "Feature height", onChange: event => {
29
+ setHeight(event.target.value);
30
+ } }),
31
+ React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: !!noSpacing, onChange: () => setNoSpacing(val => !val) }), label: "Remove spacing between features in y-direction?" }),
32
+ React.createElement(DialogActions, null,
33
+ React.createElement(Button, { variant: "contained", color: "primary", type: "submit", autoFocus: true, disabled: !ok, onClick: () => {
34
+ model.setFeatureHeight(height !== '' && !Number.isNaN(+height) ? +height : undefined);
35
+ model.setNoSpacing(noSpacing);
36
+ handleClose();
37
+ } }, "Submit"),
38
+ React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => handleClose() }, "Cancel")))));
39
+ }
40
+ export default observer(SetFeatureHeightDlg);
41
+ //# sourceMappingURL=SetFeatureHeight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetFeatureHeight.js","sourceRoot":"","sources":["../../../src/LinearPileupDisplay/components/SetFeatureHeight.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ declare function SetMaxHeightDlg(props: {
3
+ model: {
4
+ maxHeight?: number;
5
+ setMaxHeight: Function;
6
+ };
7
+ handleClose: () => void;
8
+ }): JSX.Element;
9
+ declare const _default: typeof SetMaxHeightDlg;
10
+ export default _default;
@@ -0,0 +1,43 @@
1
+ import React, { useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, TextField, Typography, } from '@mui/material';
4
+ import { makeStyles } from 'tss-react/mui';
5
+ import CloseIcon from '@mui/icons-material/Close';
6
+ const useStyles = makeStyles()(theme => ({
7
+ root: {
8
+ width: 500,
9
+ },
10
+ closeButton: {
11
+ position: 'absolute',
12
+ right: theme.spacing(1),
13
+ top: theme.spacing(1),
14
+ color: theme.palette.grey[500],
15
+ },
16
+ field: {
17
+ margin: theme.spacing(2),
18
+ },
19
+ }));
20
+ function SetMaxHeightDlg(props) {
21
+ const { model, handleClose } = props;
22
+ const { classes } = useStyles();
23
+ const { maxHeight = '' } = model;
24
+ const [max, setMax] = useState(`${maxHeight}`);
25
+ return (React.createElement(Dialog, { open: true, onClose: handleClose },
26
+ React.createElement(DialogTitle, null,
27
+ "Filter options",
28
+ React.createElement(IconButton, { "aria-label": "close", className: classes.closeButton, onClick: handleClose },
29
+ React.createElement(CloseIcon, null))),
30
+ React.createElement(DialogContent, { className: classes.root },
31
+ React.createElement(Typography, null, "Set max height for the track. For example, you can increase this if the layout says \"Max height reached\""),
32
+ React.createElement(TextField, { value: max, onChange: event => {
33
+ setMax(event.target.value);
34
+ }, placeholder: "Enter max height for layout" }),
35
+ React.createElement(DialogActions, null,
36
+ React.createElement(Button, { variant: "contained", color: "primary", type: "submit", autoFocus: true, onClick: () => {
37
+ model.setMaxHeight(max !== '' && !Number.isNaN(+max) ? +max : undefined);
38
+ handleClose();
39
+ } }, "Submit"),
40
+ React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => handleClose() }, "Cancel")))));
41
+ }
42
+ export default observer(SetMaxHeightDlg);
43
+ //# sourceMappingURL=SetMaxHeight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetMaxHeight.js","sourceRoot":"","sources":["../../../src/LinearPileupDisplay/components/SetMaxHeight.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,SAAS,MAAM,2BAA2B,CAAA;AAEjD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;KACX;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B;IACD,KAAK,EAAE;QACL,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KACzB;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,eAAe,CAAC,KAMxB;IACC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,CAAA;IAChC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,SAAS,EAAE,CAAC,CAAA;IAE9C,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI,QAAC,OAAO,EAAE,WAAW;QAC/B,oBAAC,WAAW;;YAEV,oBAAC,UAAU,kBACE,OAAO,EAClB,SAAS,EAAE,OAAO,CAAC,WAAW,EAC9B,OAAO,EAAE,WAAW;gBAEpB,oBAAC,SAAS,OAAG,CACF,CACD;QACd,oBAAC,aAAa,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI;YACpC,oBAAC,UAAU,qHAGE;YACb,oBAAC,SAAS,IACR,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAChB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC5B,CAAC,EACD,WAAW,EAAC,6BAA6B,GACzC;YACF,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,QAAQ,EACb,SAAS,QACT,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,YAAY,CAChB,GAAG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CACrD,CAAA;wBACD,WAAW,EAAE,CAAA;oBACf,CAAC,aAGM;gBACT,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,aAGrB,CACK,CACF,CACT,CACV,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare function SortByTagDlg(props: {
3
+ model: {
4
+ setSortedBy: Function;
5
+ };
6
+ handleClose: () => void;
7
+ }): JSX.Element;
8
+ declare const _default: typeof SortByTagDlg;
9
+ export default _default;
@@ -0,0 +1,43 @@
1
+ import React, { useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, TextField, Typography, } from '@mui/material';
4
+ import { makeStyles } from 'tss-react/mui';
5
+ import CloseIcon from '@mui/icons-material/Close';
6
+ const useStyles = makeStyles()(theme => ({
7
+ root: {
8
+ margin: 0,
9
+ padding: theme.spacing(2),
10
+ },
11
+ closeButton: {
12
+ position: 'absolute',
13
+ right: theme.spacing(1),
14
+ top: theme.spacing(1),
15
+ color: theme.palette.grey[500],
16
+ },
17
+ }));
18
+ function SortByTagDlg(props) {
19
+ const { classes } = useStyles();
20
+ const { model, handleClose } = props;
21
+ const [tag, setTag] = useState('');
22
+ const validTag = tag.match(/^[A-Za-z][A-Za-z0-9]$/);
23
+ return (React.createElement(Dialog, { open: true, onClose: handleClose },
24
+ React.createElement(DialogTitle, null,
25
+ "Sort by tag",
26
+ React.createElement(IconButton, { "aria-label": "close", className: classes.closeButton, onClick: handleClose },
27
+ React.createElement(CloseIcon, null))),
28
+ React.createElement(DialogContent, null,
29
+ React.createElement(Typography, null, "Set the tag to sort by"),
30
+ React.createElement(Typography, { color: "textSecondary" }, "Examples: HP for haplotype, RG for read group, etc."),
31
+ React.createElement(TextField, { value: tag, onChange: event => setTag(event.target.value), placeholder: "Enter tag name", inputProps: {
32
+ maxLength: 2,
33
+ 'data-testid': 'sort-tag-name-input',
34
+ }, error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '', autoComplete: "off", "data-testid": "sort-tag-name" }),
35
+ React.createElement(DialogActions, null,
36
+ React.createElement(Button, { variant: "contained", color: "primary", type: "submit", autoFocus: true, onClick: () => {
37
+ model.setSortedBy('tag', tag);
38
+ handleClose();
39
+ } }, "Submit"),
40
+ React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => handleClose() }, "Cancel")))));
41
+ }
42
+ export default observer(SortByTagDlg);
43
+ //# sourceMappingURL=SortByTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortByTag.js","sourceRoot":"","sources":["../../../src/LinearPileupDisplay/components/SortByTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,SAAS,MAAM,2BAA2B,CAAA;AAEjD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1B;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,YAAY,CAAC,KAGrB;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IACpC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACnD,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI,QAAC,OAAO,EAAE,WAAW;QAC/B,oBAAC,WAAW;;YAEV,oBAAC,UAAU,kBACE,OAAO,EAClB,SAAS,EAAE,OAAO,CAAC,WAAW,EAC9B,OAAO,EAAE,WAAW;gBAEpB,oBAAC,SAAS,OAAG,CACF,CACD;QACd,oBAAC,aAAa;YACZ,oBAAC,UAAU,iCAAoC;YAC/C,oBAAC,UAAU,IAAC,KAAK,EAAC,eAAe,0DAEpB;YACb,oBAAC,SAAS,IACR,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,WAAW,EAAC,gBAAgB,EAC5B,UAAU,EAAE;oBACV,SAAS,EAAE,CAAC;oBACZ,aAAa,EAAE,qBAAqB;iBACrC,EACD,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EACpC,UAAU,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAClE,YAAY,EAAC,KAAK,iBACN,eAAe,GAC3B;YACF,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,QAAQ,EACb,SAAS,QACT,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;wBAC7B,WAAW,EAAE,CAAA;oBACf,CAAC,aAGM;gBACT,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,aAGrB,CACK,CACF,CACT,CACV,CAAA;AACH,CAAC;AACD,eAAe,QAAQ,CAAC,YAAY,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Instance } from 'mobx-state-tree';
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ declare function PileupConfigFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
4
+ export declare type LinearPileupDisplayConfigModel = ReturnType<typeof PileupConfigFactory>;
5
+ export declare type LinearPileupDisplayConfig = Instance<LinearPileupDisplayConfigModel>;
6
+ export default PileupConfigFactory;
@@ -0,0 +1,41 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
+ import { linearBasicDisplayConfigSchemaFactory } from '@jbrowse/plugin-linear-genome-view';
3
+ import { types } from 'mobx-state-tree';
4
+ function PileupConfigFactory(pluginManager) {
5
+ const PileupRendererConfigSchema = pluginManager.getRendererType('PileupRenderer').configSchema;
6
+ // modify config schema to take in a sub coverage display
7
+ return ConfigurationSchema('LinearPileupDisplay', {
8
+ defaultRendering: {
9
+ type: 'stringEnum',
10
+ model: types.enumeration('Rendering', ['pileup']),
11
+ defaultValue: 'pileup',
12
+ },
13
+ renderers: ConfigurationSchema('RenderersConfiguration', {
14
+ PileupRenderer: PileupRendererConfigSchema,
15
+ }),
16
+ renderer: '',
17
+ maxFeatureScreenDensity: {
18
+ type: 'number',
19
+ description: 'maximum features per pixel that is displayed in the view',
20
+ defaultValue: 5,
21
+ },
22
+ colorScheme: {
23
+ type: 'stringEnum',
24
+ model: types.enumeration('colorScheme', [
25
+ 'strand',
26
+ 'normal',
27
+ 'insertSize',
28
+ 'insertSizeAndOrientation',
29
+ 'mappingQuality',
30
+ 'tag',
31
+ ]),
32
+ description: 'color scheme to use',
33
+ defaultValue: 'normal',
34
+ },
35
+ }, {
36
+ baseConfiguration: linearBasicDisplayConfigSchemaFactory(pluginManager),
37
+ explicitlyTyped: true,
38
+ });
39
+ }
40
+ export default PileupConfigFactory;
41
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/LinearPileupDisplay/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAA;AAC1F,OAAO,EAAE,KAAK,EAAY,MAAM,iBAAiB,CAAA;AAGjD,SAAS,mBAAmB,CAAC,aAA4B;IACvD,MAAM,0BAA0B,GAC9B,aAAa,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAA;IAE9D,yDAAyD;IACzD,OAAO,mBAAmB,CACxB,qBAAqB,EACrB;QACE,gBAAgB,EAAE;YAChB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;YACjD,YAAY,EAAE,QAAQ;SACvB;QACD,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,EAAE;YACvD,cAAc,EAAE,0BAA0B;SAC3C,CAAC;QACF,QAAQ,EAAE,EAAE;QACZ,uBAAuB,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,YAAY,EAAE,CAAC;SAChB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE;gBACtC,QAAQ;gBACR,QAAQ;gBACR,YAAY;gBACZ,0BAA0B;gBAC1B,gBAAgB;gBAChB,KAAK;aACN,CAAC;YACF,WAAW,EAAE,qBAAqB;YAClC,YAAY,EAAE,QAAQ;SACvB;KACF,EACD;QACE,iBAAiB,EAAE,qCAAqC,CAAC,aAAa,CAAC;QACvE,eAAe,EAAE,IAAI;KACtB,CACF,CAAA;AACH,CAAC;AAMD,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function register(pluginManager: PluginManager): void;
@@ -0,0 +1,18 @@
1
+ import configSchemaFactory from './configSchema';
2
+ import modelFactory from './model';
3
+ import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
4
+ import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
5
+ export default function register(pluginManager) {
6
+ pluginManager.addDisplayType(() => {
7
+ const configSchema = configSchemaFactory(pluginManager);
8
+ return new DisplayType({
9
+ name: 'LinearPileupDisplay',
10
+ configSchema,
11
+ stateModel: modelFactory(configSchema),
12
+ trackType: 'AlignmentsTrack',
13
+ viewType: 'LinearGenomeView',
14
+ ReactComponent: BaseLinearDisplayComponent,
15
+ });
16
+ });
17
+ }
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearPileupDisplay/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,gBAAgB,CAAA;AAChD,OAAO,YAAY,MAAM,SAAS,CAAA;AAClC,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAE/E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,aAA4B;IAC3D,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;QACvD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,qBAAqB;YAC3B,YAAY;YACZ,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC;YACtC,SAAS,EAAE,iBAAiB;YAC5B,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,0BAA0B;SAC3C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}