@jbrowse/plugin-alignments 2.1.7 → 2.2.1

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 (226) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +12 -13
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  3. package/dist/AlignmentsTrack/index.d.ts +1 -1
  4. package/dist/AlignmentsTrack/index.js +16 -6
  5. package/dist/AlignmentsTrack/index.js.map +1 -1
  6. package/dist/BamAdapter/BamAdapter.d.ts +7 -3
  7. package/dist/BamAdapter/BamAdapter.js +36 -31
  8. package/dist/BamAdapter/BamAdapter.js.map +1 -1
  9. package/dist/BamAdapter/BamSlightlyLazyFeature.js +1 -0
  10. package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  11. package/dist/BamAdapter/MismatchParser.d.ts +2 -2
  12. package/dist/BamAdapter/MismatchParser.js +4 -7
  13. package/dist/BamAdapter/MismatchParser.js.map +1 -1
  14. package/dist/BamAdapter/configSchema.d.ts +2 -2
  15. package/dist/BamAdapter/configSchema.js +27 -2
  16. package/dist/BamAdapter/configSchema.js.map +1 -1
  17. package/dist/BamAdapter/index.js +7 -5
  18. package/dist/BamAdapter/index.js.map +1 -1
  19. package/dist/CramAdapter/CramAdapter.d.ts +13 -7
  20. package/dist/CramAdapter/CramAdapter.js +56 -61
  21. package/dist/CramAdapter/CramAdapter.js.map +1 -1
  22. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +15 -23
  23. package/dist/CramAdapter/CramSlightlyLazyFeature.js +10 -217
  24. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  25. package/dist/CramAdapter/CramTestAdapters.d.ts +1 -1
  26. package/dist/CramAdapter/CramTestAdapters.js +1 -1
  27. package/dist/CramAdapter/CramTestAdapters.js.map +1 -1
  28. package/dist/CramAdapter/configSchema.d.ts +2 -3
  29. package/dist/CramAdapter/configSchema.js +44 -22
  30. package/dist/CramAdapter/configSchema.js.map +1 -1
  31. package/dist/CramAdapter/index.js +7 -5
  32. package/dist/CramAdapter/index.js.map +1 -1
  33. package/dist/CramAdapter/util.d.ts +18 -0
  34. package/dist/CramAdapter/util.js +241 -0
  35. package/dist/CramAdapter/util.js.map +1 -0
  36. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +5 -2
  37. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +15 -20
  38. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -1
  39. package/dist/HtsgetBamAdapter/configSchema.d.ts +2 -2
  40. package/dist/HtsgetBamAdapter/configSchema.js +20 -3
  41. package/dist/HtsgetBamAdapter/configSchema.js.map +1 -1
  42. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +1 -1
  43. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  44. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +2 -2
  45. package/dist/LinearAlignmentsDisplay/models/configSchema.js +23 -6
  46. package/dist/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
  47. package/dist/LinearAlignmentsDisplay/models/model.d.ts +77 -10
  48. package/dist/LinearAlignmentsDisplay/models/model.js +102 -9
  49. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
  50. package/dist/LinearPileupDisplay/configSchema.d.ts +4 -4
  51. package/dist/LinearPileupDisplay/configSchema.js +22 -5
  52. package/dist/LinearPileupDisplay/configSchema.js.map +1 -1
  53. package/dist/LinearPileupDisplay/index.d.ts +3 -0
  54. package/dist/LinearPileupDisplay/index.js +3 -0
  55. package/dist/LinearPileupDisplay/index.js.map +1 -1
  56. package/dist/LinearPileupDisplay/model.d.ts +100 -6
  57. package/dist/LinearPileupDisplay/model.js +611 -503
  58. package/dist/LinearPileupDisplay/model.js.map +1 -1
  59. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  60. package/dist/LinearSNPCoverageDisplay/models/configSchema.js +33 -4
  61. package/dist/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -1
  62. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +87 -4
  63. package/dist/LinearSNPCoverageDisplay/models/model.js +240 -159
  64. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  65. package/dist/PileupRPC/rpcMethods.d.ts +1 -1
  66. package/dist/PileupRPC/rpcMethods.js +12 -7
  67. package/dist/PileupRPC/rpcMethods.js.map +1 -1
  68. package/dist/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  69. package/dist/PileupRenderer/PileupRenderer.d.ts +1 -1
  70. package/dist/PileupRenderer/PileupRenderer.js +37 -34
  71. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  72. package/dist/PileupRenderer/configSchema.d.ts +2 -2
  73. package/dist/PileupRenderer/configSchema.js +37 -2
  74. package/dist/PileupRenderer/configSchema.js.map +1 -1
  75. package/dist/PileupRenderer/index.js +8 -6
  76. package/dist/PileupRenderer/index.js.map +1 -1
  77. package/dist/SNPCoverageAdapter/configSchema.d.ts +2 -3
  78. package/dist/SNPCoverageAdapter/configSchema.js +15 -4
  79. package/dist/SNPCoverageAdapter/configSchema.js.map +1 -1
  80. package/dist/SNPCoverageAdapter/index.d.ts +1 -2
  81. package/dist/SNPCoverageAdapter/index.js +17 -14
  82. package/dist/SNPCoverageAdapter/index.js.map +1 -1
  83. package/dist/SNPCoverageRenderer/configSchema.d.ts +2 -2
  84. package/dist/SNPCoverageRenderer/configSchema.js +21 -1
  85. package/dist/SNPCoverageRenderer/configSchema.js.map +1 -1
  86. package/dist/SNPCoverageRenderer/index.d.ts +0 -1
  87. package/dist/SNPCoverageRenderer/index.js +1 -4
  88. package/dist/SNPCoverageRenderer/index.js.map +1 -1
  89. package/dist/index.d.ts +3 -2
  90. package/dist/index.js +4 -2
  91. package/dist/index.js.map +1 -1
  92. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +12 -13
  93. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  94. package/esm/AlignmentsTrack/index.d.ts +1 -1
  95. package/esm/AlignmentsTrack/index.js +16 -6
  96. package/esm/AlignmentsTrack/index.js.map +1 -1
  97. package/esm/BamAdapter/BamAdapter.d.ts +7 -3
  98. package/esm/BamAdapter/BamAdapter.js +36 -31
  99. package/esm/BamAdapter/BamAdapter.js.map +1 -1
  100. package/esm/BamAdapter/BamSlightlyLazyFeature.js +1 -0
  101. package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  102. package/esm/BamAdapter/MismatchParser.d.ts +2 -2
  103. package/esm/BamAdapter/MismatchParser.js +4 -7
  104. package/esm/BamAdapter/MismatchParser.js.map +1 -1
  105. package/esm/BamAdapter/configSchema.d.ts +2 -2
  106. package/esm/BamAdapter/configSchema.js +27 -2
  107. package/esm/BamAdapter/configSchema.js.map +1 -1
  108. package/esm/BamAdapter/index.js +7 -5
  109. package/esm/BamAdapter/index.js.map +1 -1
  110. package/esm/CramAdapter/CramAdapter.d.ts +13 -7
  111. package/esm/CramAdapter/CramAdapter.js +56 -61
  112. package/esm/CramAdapter/CramAdapter.js.map +1 -1
  113. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +15 -23
  114. package/esm/CramAdapter/CramSlightlyLazyFeature.js +10 -217
  115. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  116. package/esm/CramAdapter/CramTestAdapters.d.ts +1 -1
  117. package/esm/CramAdapter/CramTestAdapters.js +1 -1
  118. package/esm/CramAdapter/CramTestAdapters.js.map +1 -1
  119. package/esm/CramAdapter/configSchema.d.ts +2 -3
  120. package/esm/CramAdapter/configSchema.js +44 -22
  121. package/esm/CramAdapter/configSchema.js.map +1 -1
  122. package/esm/CramAdapter/index.js +8 -6
  123. package/esm/CramAdapter/index.js.map +1 -1
  124. package/esm/CramAdapter/util.d.ts +18 -0
  125. package/esm/CramAdapter/util.js +236 -0
  126. package/esm/CramAdapter/util.js.map +1 -0
  127. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +5 -2
  128. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js +15 -20
  129. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -1
  130. package/esm/HtsgetBamAdapter/configSchema.d.ts +2 -2
  131. package/esm/HtsgetBamAdapter/configSchema.js +20 -3
  132. package/esm/HtsgetBamAdapter/configSchema.js.map +1 -1
  133. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +1 -1
  134. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  135. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +2 -2
  136. package/esm/LinearAlignmentsDisplay/models/configSchema.js +23 -6
  137. package/esm/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
  138. package/esm/LinearAlignmentsDisplay/models/model.d.ts +77 -10
  139. package/esm/LinearAlignmentsDisplay/models/model.js +102 -9
  140. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
  141. package/esm/LinearPileupDisplay/configSchema.d.ts +4 -4
  142. package/esm/LinearPileupDisplay/configSchema.js +22 -5
  143. package/esm/LinearPileupDisplay/configSchema.js.map +1 -1
  144. package/esm/LinearPileupDisplay/index.d.ts +3 -0
  145. package/esm/LinearPileupDisplay/index.js +1 -0
  146. package/esm/LinearPileupDisplay/index.js.map +1 -1
  147. package/esm/LinearPileupDisplay/model.d.ts +100 -6
  148. package/esm/LinearPileupDisplay/model.js +611 -503
  149. package/esm/LinearPileupDisplay/model.js.map +1 -1
  150. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  151. package/esm/LinearSNPCoverageDisplay/models/configSchema.js +33 -4
  152. package/esm/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -1
  153. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +87 -4
  154. package/esm/LinearSNPCoverageDisplay/models/model.js +240 -159
  155. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  156. package/esm/PileupRPC/rpcMethods.d.ts +1 -1
  157. package/esm/PileupRPC/rpcMethods.js +12 -7
  158. package/esm/PileupRPC/rpcMethods.js.map +1 -1
  159. package/esm/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  160. package/esm/PileupRenderer/PileupRenderer.d.ts +1 -1
  161. package/esm/PileupRenderer/PileupRenderer.js +37 -34
  162. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  163. package/esm/PileupRenderer/configSchema.d.ts +2 -2
  164. package/esm/PileupRenderer/configSchema.js +37 -2
  165. package/esm/PileupRenderer/configSchema.js.map +1 -1
  166. package/esm/PileupRenderer/index.js +8 -6
  167. package/esm/PileupRenderer/index.js.map +1 -1
  168. package/esm/SNPCoverageAdapter/configSchema.d.ts +2 -3
  169. package/esm/SNPCoverageAdapter/configSchema.js +15 -4
  170. package/esm/SNPCoverageAdapter/configSchema.js.map +1 -1
  171. package/esm/SNPCoverageAdapter/index.d.ts +1 -2
  172. package/esm/SNPCoverageAdapter/index.js +17 -15
  173. package/esm/SNPCoverageAdapter/index.js.map +1 -1
  174. package/esm/SNPCoverageRenderer/configSchema.d.ts +2 -2
  175. package/esm/SNPCoverageRenderer/configSchema.js +21 -1
  176. package/esm/SNPCoverageRenderer/configSchema.js.map +1 -1
  177. package/esm/SNPCoverageRenderer/index.d.ts +0 -1
  178. package/esm/SNPCoverageRenderer/index.js +1 -3
  179. package/esm/SNPCoverageRenderer/index.js.map +1 -1
  180. package/esm/index.d.ts +3 -2
  181. package/esm/index.js +2 -2
  182. package/esm/index.js.map +1 -1
  183. package/package.json +4 -3
  184. package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +17 -16
  185. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +41 -513
  186. package/src/AlignmentsFeatureDetail/index.test.js +6 -4
  187. package/src/AlignmentsTrack/index.ts +18 -12
  188. package/src/BamAdapter/BamAdapter.ts +42 -41
  189. package/src/BamAdapter/BamSlightlyLazyFeature.ts +2 -1
  190. package/src/BamAdapter/MismatchParser.test.ts +21 -12
  191. package/src/BamAdapter/MismatchParser.ts +7 -10
  192. package/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap +135 -135
  193. package/src/BamAdapter/configSchema.ts +57 -29
  194. package/src/BamAdapter/index.ts +7 -8
  195. package/src/CombinationTest.test.ts +107 -0
  196. package/src/CramAdapter/CramAdapter.test.ts +1 -2
  197. package/src/CramAdapter/CramAdapter.ts +83 -84
  198. package/src/CramAdapter/CramSlightlyLazyFeature.ts +18 -218
  199. package/src/CramAdapter/CramTestAdapters.ts +1 -1
  200. package/src/CramAdapter/__snapshots__/CramAdapter.test.ts.snap +31 -31
  201. package/src/CramAdapter/__snapshots__/util.test.ts.snap +14 -0
  202. package/src/CramAdapter/configSchema.ts +54 -30
  203. package/src/CramAdapter/index.ts +8 -9
  204. package/src/CramAdapter/util.test.ts +26 -0
  205. package/src/CramAdapter/util.ts +251 -0
  206. package/src/HtsgetBamAdapter/HtsgetBamAdapter.ts +14 -21
  207. package/src/HtsgetBamAdapter/configSchema.ts +36 -19
  208. package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +3 -1
  209. package/src/LinearAlignmentsDisplay/models/configSchema.ts +23 -10
  210. package/src/LinearAlignmentsDisplay/models/model.tsx +107 -11
  211. package/src/LinearPileupDisplay/configSchema.ts +25 -9
  212. package/src/LinearPileupDisplay/index.ts +5 -0
  213. package/src/LinearPileupDisplay/model.ts +151 -34
  214. package/src/LinearSNPCoverageDisplay/models/configSchema.ts +36 -9
  215. package/src/LinearSNPCoverageDisplay/models/model.ts +83 -4
  216. package/src/PileupRPC/rpcMethods.ts +15 -20
  217. package/src/PileupRenderer/{PileupRenderer.tsx → PileupRenderer.ts} +53 -63
  218. package/src/PileupRenderer/configSchema.ts +39 -2
  219. package/src/PileupRenderer/index.ts +8 -9
  220. package/src/SNPCoverageAdapter/configSchema.ts +21 -12
  221. package/src/SNPCoverageAdapter/index.ts +17 -18
  222. package/src/SNPCoverageRenderer/configSchema.ts +23 -1
  223. package/src/SNPCoverageRenderer/index.ts +1 -8
  224. package/src/__snapshots__/index.test.ts.snap +1 -1
  225. package/src/index.ts +11 -4
  226. package/src/declare.d.ts +0 -1
@@ -1,28 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const configuration_1 = require("@jbrowse/core/configuration");
4
- const mobx_state_tree_1 = require("mobx-state-tree");
5
- exports.default = (pluginManager) => {
6
- return mobx_state_tree_1.types.late(() => (0, configuration_1.ConfigurationSchema)('CramAdapter', {
7
- fetchSizeLimit: {
8
- type: 'number',
9
- defaultValue: 3000000,
4
+ /**
5
+ * #config CramAdapter
6
+ * used to configure CRAM adapter
7
+ */
8
+ function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
9
+ const configSchema = (0, configuration_1.ConfigurationSchema)('CramAdapter', {
10
+ /**
11
+ * #slot fetchSizeLimit
12
+ */
13
+ fetchSizeLimit: {
14
+ type: 'number',
15
+ description: 'size in bytes over which to display a warning to the user that too much data will be fetched',
16
+ defaultValue: 3000000,
17
+ },
18
+ /**
19
+ * #slot cramLocation
20
+ */
21
+ cramLocation: {
22
+ type: 'fileLocation',
23
+ defaultValue: {
24
+ uri: '/path/to/my.cram',
25
+ locationType: 'UriLocation',
10
26
  },
11
- cramLocation: {
12
- type: 'fileLocation',
13
- defaultValue: {
14
- uri: '/path/to/my.cram',
15
- locationType: 'UriLocation',
16
- },
27
+ },
28
+ /**
29
+ * #slot craiLocation
30
+ */
31
+ craiLocation: {
32
+ type: 'fileLocation',
33
+ defaultValue: {
34
+ uri: '/path/to/my.cram.crai',
35
+ locationType: 'UriLocation',
17
36
  },
18
- craiLocation: {
19
- type: 'fileLocation',
20
- defaultValue: {
21
- uri: '/path/to/my.cram.crai',
22
- locationType: 'UriLocation',
23
- },
24
- },
25
- sequenceAdapter: pluginManager.pluggableConfigSchemaType('adapter'),
26
- }, { explicitlyTyped: true }));
27
- };
37
+ },
38
+ /**
39
+ * #slot sequenceAdapter
40
+ * generally refers to the reference genome assembly's sequence adapter
41
+ * currently needs to be manually added
42
+ */
43
+ sequenceAdapter: {
44
+ type: 'frozen',
45
+ description: 'sequence data adapter',
46
+ defaultValue: null,
47
+ },
48
+ }, { explicitlyTyped: true });
49
+ exports.default = configSchema;
28
50
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/CramAdapter/configSchema.ts"],"names":[],"mappings":";;AACA,+DAAiE;AACjE,qDAAuC;AAEvC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,OAAO,uBAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CACrB,IAAA,mCAAmB,EACjB,aAAa,EACb;QACE,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,OAAS;SACxB;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE;gBACZ,GAAG,EAAE,kBAAkB;gBACvB,YAAY,EAAE,aAAa;aAC5B;SACF;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE;gBACZ,GAAG,EAAE,uBAAuB;gBAC5B,YAAY,EAAE,aAAa;aAC5B;SACF;QACD,eAAe,EAAE,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;KACpE,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/CramAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,+DAAiE;AAEjE;;;GAGG;AACH,SAAS,CAAC,KAAI,CAAC,CAAC,wDAAwD;AAExE,MAAM,YAAY,GAAG,IAAA,mCAAmB,EACtC,aAAa,EACb;IACE;;OAEG;IACH,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,8FAA8F;QAChG,YAAY,EAAE,OAAS;KACxB;IAED;;OAEG;IACH,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YACZ,GAAG,EAAE,kBAAkB;YACvB,YAAY,EAAE,aAAa;SAC5B;KACF;IAED;;OAEG;IACH,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YACZ,GAAG,EAAE,uBAAuB;YAC5B,YAAY,EAAE,aAAa;SAC5B;KACF;IAED;;;;OAIG;IACH,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,IAAI;KACnB;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA;AACD,kBAAe,YAAY,CAAA"}
@@ -30,10 +30,12 @@ const AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTyp
30
30
  // locals
31
31
  const configSchema_1 = __importDefault(require("./configSchema"));
32
32
  exports.default = (pluginManager) => {
33
- pluginManager.addAdapterType(() => new AdapterType_1.default({
34
- name: 'CramAdapter',
35
- configSchema: pluginManager.load(configSchema_1.default),
36
- getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./CramAdapter'))).then(r => r.default),
37
- }));
33
+ pluginManager.addAdapterType(() => {
34
+ return new AdapterType_1.default({
35
+ name: 'CramAdapter',
36
+ configSchema: configSchema_1.default,
37
+ getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./CramAdapter'))).then(r => r.default),
38
+ });
39
+ });
38
40
  };
39
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CramAdapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kGAAyE;AAEzE,SAAS;AACT,kEAA0C;AAE1C,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,qBAAW,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,sBAAa,CAAC;QAC/C,eAAe,EAAE,GAAG,EAAE,CAAC,kDAAO,eAAe,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACpE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CramAdapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kGAAyE;AAEzE,SAAS;AACT,kEAAyC;AAEzC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,OAAO,IAAI,qBAAW,CAAC;YACrB,IAAI,EAAE,aAAa;YACnB,YAAY,EAAZ,sBAAY;YACZ,eAAe,EAAE,GAAG,EAAE,CAAC,kDAAO,eAAe,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACpE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { CramRecord } from '@gmod/cram';
2
+ type ReadFeatures = CramRecord['readFeatures'];
3
+ export interface Mismatch {
4
+ qual?: number;
5
+ start: number;
6
+ length: number;
7
+ type: string;
8
+ base: string | undefined;
9
+ altbase?: string;
10
+ seq?: string;
11
+ cliplen?: number;
12
+ }
13
+ export declare function readFeaturesToMismatches(readFeatures: ReadFeatures, start: number, qual?: number[] | null): Mismatch[];
14
+ export declare function readFeaturesToCIGAR(readFeatures: ReadFeatures, alignmentStart: number, readLen: number, refRegion?: {
15
+ seq: string;
16
+ start: number;
17
+ }): string;
18
+ export {};
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readFeaturesToCIGAR = exports.readFeaturesToMismatches = void 0;
4
+ function readFeaturesToMismatches(readFeatures, start, qual) {
5
+ if (!readFeatures) {
6
+ return [];
7
+ }
8
+ const mismatches = new Array(readFeatures.length);
9
+ let j = 0;
10
+ let insLen = 0;
11
+ let refPos = 0;
12
+ let sublen = 0;
13
+ let lastPos = start;
14
+ for (let i = 0; i < readFeatures.length; i++) {
15
+ const f = readFeatures[i];
16
+ const { code, pos, data, sub, ref } = f;
17
+ sublen = refPos - lastPos;
18
+ lastPos = refPos;
19
+ if (sublen && insLen > 0) {
20
+ mismatches[j++] = {
21
+ start: refPos,
22
+ type: 'insertion',
23
+ base: `${insLen}`,
24
+ length: 0,
25
+ };
26
+ insLen = 0;
27
+ }
28
+ refPos = f.refPos - 1 - start;
29
+ if (code === 'X') {
30
+ // substitution
31
+ mismatches[j++] = {
32
+ start: refPos,
33
+ length: 1,
34
+ base: sub,
35
+ qual: qual === null || qual === void 0 ? void 0 : qual[pos - 1],
36
+ altbase: ref === null || ref === void 0 ? void 0 : ref.toUpperCase(),
37
+ type: 'mismatch',
38
+ };
39
+ }
40
+ else if (code === 'I') {
41
+ // insertion
42
+ mismatches[j++] = {
43
+ start: refPos,
44
+ type: 'insertion',
45
+ base: `${data.length}`,
46
+ length: 0,
47
+ };
48
+ }
49
+ else if (code === 'N') {
50
+ // reference skip
51
+ mismatches[j++] = {
52
+ type: 'skip',
53
+ length: data,
54
+ start: refPos,
55
+ base: 'N',
56
+ };
57
+ }
58
+ else if (code === 'S') {
59
+ // soft clip
60
+ const len = data.length;
61
+ mismatches[j++] = {
62
+ start: refPos,
63
+ type: 'softclip',
64
+ base: `S${len}`,
65
+ cliplen: len,
66
+ length: 1,
67
+ };
68
+ }
69
+ else if (code === 'P') {
70
+ // padding
71
+ }
72
+ else if (code === 'H') {
73
+ // hard clip
74
+ const len = data;
75
+ mismatches[j++] = {
76
+ start: refPos,
77
+ type: 'hardclip',
78
+ base: `H${len}`,
79
+ cliplen: len,
80
+ length: 1,
81
+ };
82
+ }
83
+ else if (code === 'D') {
84
+ // deletion
85
+ mismatches[j++] = {
86
+ type: 'deletion',
87
+ length: data,
88
+ start: refPos,
89
+ base: '*',
90
+ };
91
+ }
92
+ else if (code === 'b') {
93
+ // stretch of bases
94
+ }
95
+ else if (code === 'q') {
96
+ // stretch of qual scores
97
+ }
98
+ else if (code === 'B') {
99
+ // a pair of [base, qual]
100
+ }
101
+ else if (code === 'i') {
102
+ // single-base insertion, we collect these if there are multiple in a row
103
+ // into a single insertion entry
104
+ insLen++;
105
+ }
106
+ else if (code === 'Q') {
107
+ // single quality value
108
+ }
109
+ }
110
+ if (sublen && insLen > 0) {
111
+ mismatches[j++] = {
112
+ start: refPos,
113
+ type: 'insertion',
114
+ base: `${insLen}`,
115
+ length: 0,
116
+ };
117
+ insLen = 0;
118
+ }
119
+ return mismatches.slice(0, j);
120
+ }
121
+ exports.readFeaturesToMismatches = readFeaturesToMismatches;
122
+ function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
123
+ let seq = '';
124
+ let cigar = '';
125
+ let op = 'M';
126
+ let oplen = 0;
127
+ if (!refRegion) {
128
+ return '';
129
+ }
130
+ // not sure I should access these, but...
131
+ const ref = refRegion.seq;
132
+ const refStart = refRegion.start;
133
+ let lastPos = alignmentStart;
134
+ let sublen = 0;
135
+ let insLen = 0;
136
+ if (readFeatures !== undefined) {
137
+ for (let i = 0; i < readFeatures.length; i++) {
138
+ const { code, refPos, sub, data } = readFeatures[i];
139
+ sublen = refPos - lastPos;
140
+ seq += ref.substring(lastPos - refStart, refPos - refStart);
141
+ lastPos = refPos;
142
+ if (insLen > 0 && sublen) {
143
+ cigar += `${insLen}I`;
144
+ insLen = 0;
145
+ }
146
+ if (oplen && op !== 'M') {
147
+ cigar += oplen + op;
148
+ oplen = 0;
149
+ }
150
+ if (sublen) {
151
+ op = 'M';
152
+ oplen += sublen;
153
+ }
154
+ if (code === 'b') {
155
+ // An array of bases stored verbatim
156
+ const ret = data.split(',');
157
+ const added = String.fromCharCode(...ret);
158
+ seq += added;
159
+ lastPos += added.length;
160
+ oplen += added.length;
161
+ }
162
+ else if (code === 'B') {
163
+ // Single base (+ qual score)
164
+ seq += sub;
165
+ lastPos++;
166
+ oplen++;
167
+ }
168
+ else if (code === 'X') {
169
+ // Substitution
170
+ seq += sub;
171
+ lastPos++;
172
+ oplen++;
173
+ }
174
+ else if (code === 'D' || code === 'N') {
175
+ // Deletion or Ref Skip
176
+ lastPos += data;
177
+ if (oplen) {
178
+ cigar += oplen + op;
179
+ }
180
+ cigar += data + code;
181
+ oplen = 0;
182
+ }
183
+ else if (code === 'I' || code === 'S') {
184
+ // Insertion or soft-clip
185
+ seq += data;
186
+ if (oplen) {
187
+ cigar += oplen + op;
188
+ }
189
+ cigar += data.length + code;
190
+ oplen = 0;
191
+ }
192
+ else if (code === 'i') {
193
+ // Single base insertion
194
+ // seq += data
195
+ if (oplen) {
196
+ cigar += oplen + op;
197
+ }
198
+ insLen++;
199
+ seq += data;
200
+ oplen = 0;
201
+ }
202
+ else if (code === 'P') {
203
+ // Padding
204
+ if (oplen) {
205
+ cigar += oplen + op;
206
+ }
207
+ cigar += `${data}P`;
208
+ }
209
+ else if (code === 'H') {
210
+ // Hard clip
211
+ if (oplen) {
212
+ cigar += oplen + op;
213
+ }
214
+ cigar += `${data}H`;
215
+ oplen = 0;
216
+ } // else q or Q
217
+ }
218
+ }
219
+ else {
220
+ sublen = readLen - seq.length;
221
+ }
222
+ if (seq.length !== readLen) {
223
+ sublen = readLen - seq.length;
224
+ seq += ref.substring(lastPos - refStart, lastPos - refStart + sublen);
225
+ if (oplen && op !== 'M') {
226
+ cigar += oplen + op;
227
+ oplen = 0;
228
+ }
229
+ op = 'M';
230
+ oplen += sublen;
231
+ }
232
+ if (sublen && insLen > 0) {
233
+ cigar += `${insLen}I`;
234
+ }
235
+ if (oplen) {
236
+ cigar += oplen + op;
237
+ }
238
+ return cigar;
239
+ }
240
+ exports.readFeaturesToCIGAR = readFeaturesToCIGAR;
241
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/CramAdapter/util.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,11 @@ import { BamFile } from '@gmod/bam';
2
2
  import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
3
3
  import BamAdapter from '../BamAdapter/BamAdapter';
4
4
  export default class HtsgetBamAdapter extends BamAdapter {
5
- protected configure(): Promise<{
5
+ protected configurePre(): Promise<{
6
6
  bam: BamFile;
7
- sequenceAdapter?: BaseFeatureDataAdapter | undefined;
7
+ sequenceAdapter: BaseFeatureDataAdapter;
8
+ } | {
9
+ bam: BamFile;
10
+ sequenceAdapter?: undefined;
8
11
  }>;
9
12
  }
@@ -4,29 +4,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const bam_1 = require("@gmod/bam");
7
- const configuration_1 = require("@jbrowse/core/configuration");
8
7
  const BamAdapter_1 = __importDefault(require("../BamAdapter/BamAdapter"));
9
8
  class HtsgetBamAdapter extends BamAdapter_1.default {
10
- async configure() {
11
- if (!this.configured) {
12
- const htsgetBase = (0, configuration_1.readConfObject)(this.config, 'htsgetBase');
13
- const htsgetTrackId = (0, configuration_1.readConfObject)(this.config, 'htsgetTrackId');
14
- const bam = new bam_1.HtsgetFile({
15
- baseUrl: htsgetBase,
16
- trackId: htsgetTrackId,
17
- });
18
- const adapterConfig = (0, configuration_1.readConfObject)(this.config, 'sequenceAdapter');
19
- if (adapterConfig && this.getSubAdapter) {
20
- this.configured = this.getSubAdapter(adapterConfig).then(({ dataAdapter }) => {
21
- return {
22
- bam,
23
- sequenceAdapter: dataAdapter,
24
- };
25
- });
26
- }
27
- this.configured = Promise.resolve({ bam });
9
+ async configurePre() {
10
+ const htsgetBase = this.getConf('htsgetBase');
11
+ const htsgetTrackId = this.getConf('htsgetTrackId');
12
+ const bam = new bam_1.HtsgetFile({
13
+ baseUrl: htsgetBase,
14
+ trackId: htsgetTrackId,
15
+ });
16
+ const adapterConfig = this.getConf('sequenceAdapter');
17
+ if (adapterConfig && this.getSubAdapter) {
18
+ const adapter = await this.getSubAdapter(adapterConfig);
19
+ return {
20
+ bam,
21
+ sequenceAdapter: adapter.dataAdapter,
22
+ };
28
23
  }
29
- return this.configured;
24
+ return { bam };
30
25
  }
31
26
  }
32
27
  exports.default = HtsgetBamAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"HtsgetBamAdapter.js","sourceRoot":"","sources":["../../src/HtsgetBamAdapter/HtsgetBamAdapter.ts"],"names":[],"mappings":";;;;;AAAA,mCAA+C;AAC/C,+DAA4D;AAE5D,0EAAiD;AAEjD,MAAqB,gBAAiB,SAAQ,oBAAU;IAC5C,KAAK,CAAC,SAAS;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,UAAU,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAC5D,MAAM,aAAa,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;YAClE,MAAM,GAAG,GAAG,IAAI,gBAAU,CAAC;gBACzB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,aAAa;aACvB,CAAuB,CAAA;YAExB,MAAM,aAAa,GAAG,IAAA,8BAAc,EAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;YACpE,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE;gBACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CACtD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;oBAClB,OAAO;wBACL,GAAG;wBACH,eAAe,EAAE,WAAqC;qBACvD,CAAA;gBACH,CAAC,CACF,CAAA;aACF;YACD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;SAC3C;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AAzBD,mCAyBC"}
1
+ {"version":3,"file":"HtsgetBamAdapter.js","sourceRoot":"","sources":["../../src/HtsgetBamAdapter/HtsgetBamAdapter.ts"],"names":[],"mappings":";;;;;AAAA,mCAA+C;AAE/C,0EAAiD;AAEjD,MAAqB,gBAAiB,SAAQ,oBAAU;IAC5C,KAAK,CAAC,YAAY;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,IAAI,gBAAU,CAAC;YACzB,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,aAAa;SACvB,CAAuB,CAAA;QAExB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QACrD,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE;YACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;YACvD,OAAO;gBACL,GAAG;gBACH,eAAe,EAAE,OAAO,CAAC,WAAqC;aAC/D,CAAA;SACF;QACD,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;CACF;AAnBD,mCAmBC"}
@@ -1,2 +1,2 @@
1
- declare const _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
- export default _default;
1
+ declare const HtsgetBamAdapter: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
+ export default HtsgetBamAdapter;
@@ -1,19 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const configuration_1 = require("@jbrowse/core/configuration");
4
- const mobx_state_tree_1 = require("mobx-state-tree");
5
- exports.default = mobx_state_tree_1.types.late(() => (0, configuration_1.ConfigurationSchema)('HtsgetBamAdapter', {
4
+ /**
5
+ * #config HtsgetBamAdapter
6
+ * Used to fetch data from Htsget endpoints in BAM format, using the gmod/bam library
7
+ */
8
+ function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
9
+ const HtsgetBamAdapter = (0, configuration_1.ConfigurationSchema)('HtsgetBamAdapter', {
10
+ /**
11
+ * #slot
12
+ */
6
13
  htsgetBase: {
7
14
  type: 'string',
15
+ description: 'the base URL to fetch from',
8
16
  defaultValue: '',
9
17
  },
18
+ /**
19
+ * #slot
20
+ */
10
21
  htsgetTrackId: {
11
22
  type: 'string',
23
+ description: 'the trackId, which is appended to the base URL',
12
24
  defaultValue: '',
13
25
  },
26
+ /**
27
+ * #slot
28
+ */
14
29
  sequenceAdapter: {
15
30
  type: 'frozen',
31
+ description: 'sequence data adapter, used to calculate SNPs when BAM reads lacking MD tags',
16
32
  defaultValue: null,
17
33
  },
18
- }, { explicitlyTyped: true }));
34
+ }, { explicitlyTyped: true });
35
+ exports.default = HtsgetBamAdapter;
19
36
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/HtsgetBamAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,+DAAiE;AACjE,qDAAuC;AAEvC,kBAAe,uBAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7B,IAAA,mCAAmB,EACjB,kBAAkB,EAClB;IACE,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,EAAE;KACjB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,EAAE;KACjB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CACF,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/HtsgetBamAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,+DAAiE;AACjE;;;GAGG;AACH,SAAS,CAAC,KAAI,CAAC,CAAC,wDAAwD;AAExE,MAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAC1C,kBAAkB,EAClB;IACE;;OAEG;IACH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4BAA4B;QACzC,YAAY,EAAE,EAAE;KACjB;IACD;;OAEG;IACH,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gDAAgD;QAC7D,YAAY,EAAE,EAAE;KACjB;IACD;;OAEG;IACH,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,8EAA8E;QAChF,YAAY,EAAE,IAAI;KACnB;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const mobx_react_1 = require("mobx-react");
8
+ const mui_1 = require("tss-react/mui");
8
9
  const configuration_1 = require("@jbrowse/core/configuration");
9
10
  const ui_1 = require("@jbrowse/core/ui");
10
- const mui_1 = require("tss-react/mui");
11
11
  const useStyles = (0, mui_1.makeStyles)()(() => ({
12
12
  resizeHandle: {
13
13
  height: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"AlignmentsDisplay.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAqC;AACrC,+DAAqD;AACrD,yCAA+C;AAC/C,uCAA0C;AAG1C,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,YAAY,EAAE;QACZ,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAqC;IACrE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAA;IACrC,OAAO,CACL,sDACe,WAAW,IAAA,uBAAO,EAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EACrD,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;QAE9B,YAAY,CAAC,CAAC,CAAC,CACd;YACE,sDAAiB,sBAAsB;gBACrC,8BAAC,kBAAkB,CAAC,kBAAkB,IAAC,KAAK,EAAE,kBAAkB,GAAI,CAChE;YACN,8BAAC,iBAAY,IACX,MAAM,EAAE,KAAK,CAAC,EAAE;oBACd,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;oBAC/D,OAAO,KAAK,CAAA;gBACd,CAAC,EACD,SAAS,EAAE,OAAO,CAAC,YAAY,EAC/B,KAAK,EAAE;oBACL,GAAG;iBACJ,GACD,CACD,CACJ,CAAC,CAAC,CAAC,IAAI;QAEP,UAAU,CAAC,CAAC,CAAC,CACZ,sDACc,iBAAiB,EAC7B,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClD;YAED,8BAAC,aAAa,CAAC,kBAAkB,IAAC,KAAK,EAAE,aAAa,GAAI,CACtD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC;AAED,kBAAe,IAAA,qBAAQ,EAAC,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"AlignmentsDisplay.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAqC;AACrC,uCAA0C;AAC1C,+DAAqD;AACrD,yCAA+C;AAK/C,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,YAAY,EAAE;QACZ,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAqC;IACrE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAA;IACrC,OAAO,CACL,sDACe,WAAW,IAAA,uBAAO,EAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EACrD,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;QAE9B,YAAY,CAAC,CAAC,CAAC,CACd;YACE,sDAAiB,sBAAsB;gBACrC,8BAAC,kBAAkB,CAAC,kBAAkB,IAAC,KAAK,EAAE,kBAAkB,GAAI,CAChE;YACN,8BAAC,iBAAY,IACX,MAAM,EAAE,KAAK,CAAC,EAAE;oBACd,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;oBAC/D,OAAO,KAAK,CAAA;gBACd,CAAC,EACD,SAAS,EAAE,OAAO,CAAC,YAAY,EAC/B,KAAK,EAAE;oBACL,GAAG;iBACJ,GACD,CACD,CACJ,CAAC,CAAC,CAAC,IAAI;QAEP,UAAU,CAAC,CAAC,CAAC,CACZ,sDACc,iBAAiB,EAC7B,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClD;YAED,8BAAC,aAAa,CAAC,kBAAkB,IAAC,KAAK,EAAE,aAAa,GAAI,CACtD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC;AAED,kBAAe,IAAA,qBAAQ,EAAC,iBAAiB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
- declare const configModelFactory: (pluginManager: PluginManager) => import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
3
- export declare type AlignmentsConfigModel = ReturnType<typeof configModelFactory>;
2
+ declare const configModelFactory: (pm: PluginManager) => import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
3
+ export type AlignmentsConfigModel = ReturnType<typeof configModelFactory>;
4
4
  export default configModelFactory;
@@ -2,13 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const configuration_1 = require("@jbrowse/core/configuration");
4
4
  const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
5
- const configModelFactory = (pluginManager) => {
6
- const PileupDisplayConfigSchema = pluginManager.getDisplayType('LinearPileupDisplay').configSchema;
7
- const SNPCoverageDisplayConfigSchema = pluginManager.getDisplayType('LinearSNPCoverageDisplay').configSchema;
5
+ /**
6
+ * #config LinearAlignmentsDisplay
7
+ * has a "pileup" sub-display, where you can see individual reads and a
8
+ * quantitative "snpcoverage" sub-display track showing SNP frequencies
9
+ */
10
+ function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
11
+ const configModelFactory = (pm) => {
8
12
  return (0, configuration_1.ConfigurationSchema)('LinearAlignmentsDisplay', {
9
- pileupDisplay: PileupDisplayConfigSchema,
10
- snpCoverageDisplay: SNPCoverageDisplayConfigSchema,
11
- }, { baseConfiguration: plugin_linear_genome_view_1.baseLinearDisplayConfigSchema, explicitlyTyped: true });
13
+ /**
14
+ * #slot
15
+ */
16
+ pileupDisplay: pm.getDisplayType('LinearPileupDisplay').configSchema,
17
+ /**
18
+ * #slot
19
+ */
20
+ snpCoverageDisplay: pm.getDisplayType('LinearSNPCoverageDisplay')
21
+ .configSchema,
22
+ }, {
23
+ /**
24
+ * #baseConfiguration
25
+ */
26
+ baseConfiguration: plugin_linear_genome_view_1.baseLinearDisplayConfigSchema,
27
+ explicitlyTyped: true,
28
+ });
12
29
  };
13
30
  exports.default = configModelFactory;
14
31
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/models/configSchema.ts"],"names":[],"mappings":";;AAAA,+DAAiE;AACjE,kFAAkF;AAGlF,MAAM,kBAAkB,GAAG,CAAC,aAA4B,EAAE,EAAE;IAC1D,MAAM,yBAAyB,GAAG,aAAa,CAAC,cAAc,CAC5D,qBAAqB,CACtB,CAAC,YAAY,CAAA;IACd,MAAM,8BAA8B,GAAG,aAAa,CAAC,cAAc,CACjE,0BAA0B,CAC3B,CAAC,YAAY,CAAA;IAEd,OAAO,IAAA,mCAAmB,EACxB,yBAAyB,EACzB;QACE,aAAa,EAAE,yBAAyB;QACxC,kBAAkB,EAAE,8BAA8B;KACnD,EACD,EAAE,iBAAiB,EAAE,yDAA6B,EAAE,eAAe,EAAE,IAAI,EAAE,CAC5E,CAAA;AACH,CAAC,CAAA;AAGD,kBAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/models/configSchema.ts"],"names":[],"mappings":";;AAAA,+DAAiE;AACjE,kFAAkF;AAGlF;;;;GAIG;AACH,SAAS,CAAC,KAAI,CAAC,CAAC,wDAAwD;AAExE,MAAM,kBAAkB,GAAG,CAAC,EAAiB,EAAE,EAAE;IAC/C,OAAO,IAAA,mCAAmB,EACxB,yBAAyB,EACzB;QACE;;WAEG;QACH,aAAa,EAAE,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,YAAY;QACpE;;WAEG;QACH,kBAAkB,EAAE,EAAE,CAAC,cAAc,CAAC,0BAA0B,CAAC;aAC9D,YAAY;KAChB,EACD;QACE;;WAEG;QACH,iBAAiB,EAAE,yDAA6B;QAChD,eAAe,EAAE,IAAI;KACtB,CACF,CAAA;AACH,CAAC,CAAA;AAGD,kBAAe,kBAAkB,CAAA"}