@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,26 +1,48 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import { types } from 'mobx-state-tree';
3
- export default (pluginManager) => {
4
- return types.late(() => ConfigurationSchema('CramAdapter', {
5
- fetchSizeLimit: {
6
- type: 'number',
7
- defaultValue: 3000000,
2
+ /**
3
+ * #config CramAdapter
4
+ * used to configure CRAM adapter
5
+ */
6
+ function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
7
+ const configSchema = ConfigurationSchema('CramAdapter', {
8
+ /**
9
+ * #slot fetchSizeLimit
10
+ */
11
+ fetchSizeLimit: {
12
+ type: 'number',
13
+ description: 'size in bytes over which to display a warning to the user that too much data will be fetched',
14
+ defaultValue: 3000000,
15
+ },
16
+ /**
17
+ * #slot cramLocation
18
+ */
19
+ cramLocation: {
20
+ type: 'fileLocation',
21
+ defaultValue: {
22
+ uri: '/path/to/my.cram',
23
+ locationType: 'UriLocation',
8
24
  },
9
- cramLocation: {
10
- type: 'fileLocation',
11
- defaultValue: {
12
- uri: '/path/to/my.cram',
13
- locationType: 'UriLocation',
14
- },
25
+ },
26
+ /**
27
+ * #slot craiLocation
28
+ */
29
+ craiLocation: {
30
+ type: 'fileLocation',
31
+ defaultValue: {
32
+ uri: '/path/to/my.cram.crai',
33
+ locationType: 'UriLocation',
15
34
  },
16
- craiLocation: {
17
- type: 'fileLocation',
18
- defaultValue: {
19
- uri: '/path/to/my.cram.crai',
20
- locationType: 'UriLocation',
21
- },
22
- },
23
- sequenceAdapter: pluginManager.pluggableConfigSchemaType('adapter'),
24
- }, { explicitlyTyped: true }));
25
- };
35
+ },
36
+ /**
37
+ * #slot sequenceAdapter
38
+ * generally refers to the reference genome assembly's sequence adapter
39
+ * currently needs to be manually added
40
+ */
41
+ sequenceAdapter: {
42
+ type: 'frozen',
43
+ description: 'sequence data adapter',
44
+ defaultValue: null,
45
+ },
46
+ }, { explicitlyTyped: true });
47
+ export default configSchema;
26
48
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/CramAdapter/configSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CACrB,mBAAmB,CACjB,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,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE;;;GAGG;AACH,SAAS,CAAC,KAAI,CAAC,CAAC,wDAAwD;AAExE,MAAM,YAAY,GAAG,mBAAmB,CACtC,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,eAAe,YAAY,CAAA"}
@@ -1,11 +1,13 @@
1
1
  import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
2
  // locals
3
- import configSchemaF from './configSchema';
3
+ import configSchema from './configSchema';
4
4
  export default (pluginManager) => {
5
- pluginManager.addAdapterType(() => new AdapterType({
6
- name: 'CramAdapter',
7
- configSchema: pluginManager.load(configSchemaF),
8
- getAdapterClass: () => import('./CramAdapter').then(r => r.default),
9
- }));
5
+ pluginManager.addAdapterType(() => {
6
+ return new AdapterType({
7
+ name: 'CramAdapter',
8
+ configSchema,
9
+ getAdapterClass: () => import('./CramAdapter').then(r => r.default),
10
+ });
11
+ });
10
12
  };
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CramAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,SAAS;AACT,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/C,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,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,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,SAAS;AACT,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,aAAa;YACnB,YAAY;YACZ,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,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,236 @@
1
+ export function readFeaturesToMismatches(readFeatures, start, qual) {
2
+ if (!readFeatures) {
3
+ return [];
4
+ }
5
+ const mismatches = new Array(readFeatures.length);
6
+ let j = 0;
7
+ let insLen = 0;
8
+ let refPos = 0;
9
+ let sublen = 0;
10
+ let lastPos = start;
11
+ for (let i = 0; i < readFeatures.length; i++) {
12
+ const f = readFeatures[i];
13
+ const { code, pos, data, sub, ref } = f;
14
+ sublen = refPos - lastPos;
15
+ lastPos = refPos;
16
+ if (sublen && insLen > 0) {
17
+ mismatches[j++] = {
18
+ start: refPos,
19
+ type: 'insertion',
20
+ base: `${insLen}`,
21
+ length: 0,
22
+ };
23
+ insLen = 0;
24
+ }
25
+ refPos = f.refPos - 1 - start;
26
+ if (code === 'X') {
27
+ // substitution
28
+ mismatches[j++] = {
29
+ start: refPos,
30
+ length: 1,
31
+ base: sub,
32
+ qual: qual === null || qual === void 0 ? void 0 : qual[pos - 1],
33
+ altbase: ref === null || ref === void 0 ? void 0 : ref.toUpperCase(),
34
+ type: 'mismatch',
35
+ };
36
+ }
37
+ else if (code === 'I') {
38
+ // insertion
39
+ mismatches[j++] = {
40
+ start: refPos,
41
+ type: 'insertion',
42
+ base: `${data.length}`,
43
+ length: 0,
44
+ };
45
+ }
46
+ else if (code === 'N') {
47
+ // reference skip
48
+ mismatches[j++] = {
49
+ type: 'skip',
50
+ length: data,
51
+ start: refPos,
52
+ base: 'N',
53
+ };
54
+ }
55
+ else if (code === 'S') {
56
+ // soft clip
57
+ const len = data.length;
58
+ mismatches[j++] = {
59
+ start: refPos,
60
+ type: 'softclip',
61
+ base: `S${len}`,
62
+ cliplen: len,
63
+ length: 1,
64
+ };
65
+ }
66
+ else if (code === 'P') {
67
+ // padding
68
+ }
69
+ else if (code === 'H') {
70
+ // hard clip
71
+ const len = data;
72
+ mismatches[j++] = {
73
+ start: refPos,
74
+ type: 'hardclip',
75
+ base: `H${len}`,
76
+ cliplen: len,
77
+ length: 1,
78
+ };
79
+ }
80
+ else if (code === 'D') {
81
+ // deletion
82
+ mismatches[j++] = {
83
+ type: 'deletion',
84
+ length: data,
85
+ start: refPos,
86
+ base: '*',
87
+ };
88
+ }
89
+ else if (code === 'b') {
90
+ // stretch of bases
91
+ }
92
+ else if (code === 'q') {
93
+ // stretch of qual scores
94
+ }
95
+ else if (code === 'B') {
96
+ // a pair of [base, qual]
97
+ }
98
+ else if (code === 'i') {
99
+ // single-base insertion, we collect these if there are multiple in a row
100
+ // into a single insertion entry
101
+ insLen++;
102
+ }
103
+ else if (code === 'Q') {
104
+ // single quality value
105
+ }
106
+ }
107
+ if (sublen && insLen > 0) {
108
+ mismatches[j++] = {
109
+ start: refPos,
110
+ type: 'insertion',
111
+ base: `${insLen}`,
112
+ length: 0,
113
+ };
114
+ insLen = 0;
115
+ }
116
+ return mismatches.slice(0, j);
117
+ }
118
+ export function readFeaturesToCIGAR(readFeatures, alignmentStart, readLen, refRegion) {
119
+ let seq = '';
120
+ let cigar = '';
121
+ let op = 'M';
122
+ let oplen = 0;
123
+ if (!refRegion) {
124
+ return '';
125
+ }
126
+ // not sure I should access these, but...
127
+ const ref = refRegion.seq;
128
+ const refStart = refRegion.start;
129
+ let lastPos = alignmentStart;
130
+ let sublen = 0;
131
+ let insLen = 0;
132
+ if (readFeatures !== undefined) {
133
+ for (let i = 0; i < readFeatures.length; i++) {
134
+ const { code, refPos, sub, data } = readFeatures[i];
135
+ sublen = refPos - lastPos;
136
+ seq += ref.substring(lastPos - refStart, refPos - refStart);
137
+ lastPos = refPos;
138
+ if (insLen > 0 && sublen) {
139
+ cigar += `${insLen}I`;
140
+ insLen = 0;
141
+ }
142
+ if (oplen && op !== 'M') {
143
+ cigar += oplen + op;
144
+ oplen = 0;
145
+ }
146
+ if (sublen) {
147
+ op = 'M';
148
+ oplen += sublen;
149
+ }
150
+ if (code === 'b') {
151
+ // An array of bases stored verbatim
152
+ const ret = data.split(',');
153
+ const added = String.fromCharCode(...ret);
154
+ seq += added;
155
+ lastPos += added.length;
156
+ oplen += added.length;
157
+ }
158
+ else if (code === 'B') {
159
+ // Single base (+ qual score)
160
+ seq += sub;
161
+ lastPos++;
162
+ oplen++;
163
+ }
164
+ else if (code === 'X') {
165
+ // Substitution
166
+ seq += sub;
167
+ lastPos++;
168
+ oplen++;
169
+ }
170
+ else if (code === 'D' || code === 'N') {
171
+ // Deletion or Ref Skip
172
+ lastPos += data;
173
+ if (oplen) {
174
+ cigar += oplen + op;
175
+ }
176
+ cigar += data + code;
177
+ oplen = 0;
178
+ }
179
+ else if (code === 'I' || code === 'S') {
180
+ // Insertion or soft-clip
181
+ seq += data;
182
+ if (oplen) {
183
+ cigar += oplen + op;
184
+ }
185
+ cigar += data.length + code;
186
+ oplen = 0;
187
+ }
188
+ else if (code === 'i') {
189
+ // Single base insertion
190
+ // seq += data
191
+ if (oplen) {
192
+ cigar += oplen + op;
193
+ }
194
+ insLen++;
195
+ seq += data;
196
+ oplen = 0;
197
+ }
198
+ else if (code === 'P') {
199
+ // Padding
200
+ if (oplen) {
201
+ cigar += oplen + op;
202
+ }
203
+ cigar += `${data}P`;
204
+ }
205
+ else if (code === 'H') {
206
+ // Hard clip
207
+ if (oplen) {
208
+ cigar += oplen + op;
209
+ }
210
+ cigar += `${data}H`;
211
+ oplen = 0;
212
+ } // else q or Q
213
+ }
214
+ }
215
+ else {
216
+ sublen = readLen - seq.length;
217
+ }
218
+ if (seq.length !== readLen) {
219
+ sublen = readLen - seq.length;
220
+ seq += ref.substring(lastPos - refStart, lastPos - refStart + sublen);
221
+ if (oplen && op !== 'M') {
222
+ cigar += oplen + op;
223
+ oplen = 0;
224
+ }
225
+ op = 'M';
226
+ oplen += sublen;
227
+ }
228
+ if (sublen && insLen > 0) {
229
+ cigar += `${insLen}I`;
230
+ }
231
+ if (oplen) {
232
+ cigar += oplen + op;
233
+ }
234
+ return cigar;
235
+ }
236
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/CramAdapter/util.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,wBAAwB,CACtC,YAA0B,EAC1B,KAAa,EACb,IAAsB;IAEtB,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAA;KACV;IACD,MAAM,UAAU,GAAe,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7D,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACvC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;QACzB,OAAO,GAAG,MAAM,CAAA;QAEhB,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;YACxB,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;gBAChB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,MAAM,EAAE;gBACjB,MAAM,EAAE,CAAC;aACV,CAAA;YACD,MAAM,GAAG,CAAC,CAAA;SACX;QACD,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAA;QAE7B,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,eAAe;YACf,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;gBAChB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,CAAC;gBACT,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,GAAG,CAAC,CAAC;gBACrB,OAAO,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,EAAE;gBAC3B,IAAI,EAAE,UAAU;aACjB,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,YAAY;YACZ,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;gBAChB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;gBACtB,MAAM,EAAE,CAAC;aACV,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,iBAAiB;YACjB,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;gBAChB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;aACV,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,YAAY;YACZ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;YACvB,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;gBAChB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,GAAG,EAAE;gBACf,OAAO,EAAE,GAAG;gBACZ,MAAM,EAAE,CAAC;aACV,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,UAAU;SACX;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,YAAY;YACZ,MAAM,GAAG,GAAG,IAAI,CAAA;YAChB,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;gBAChB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,GAAG,EAAE;gBACf,OAAO,EAAE,GAAG;gBACZ,MAAM,EAAE,CAAC;aACV,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,WAAW;YACX,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;gBAChB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,GAAG;aACV,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,mBAAmB;SACpB;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,yBAAyB;SAC1B;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,yBAAyB;SAC1B;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,yEAAyE;YACzE,gCAAgC;YAChC,MAAM,EAAE,CAAA;SACT;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvB,uBAAuB;SACxB;KACF;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;QACxB,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG;YAChB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,GAAG,MAAM,EAAE;YACjB,MAAM,EAAE,CAAC;SACV,CAAA;QACD,MAAM,GAAG,CAAC,CAAA;KACX;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAA0B,EAC1B,cAAsB,EACtB,OAAe,EACf,SAA0C;IAE1C,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,GAAG,GAAG,CAAA;IACZ,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAA;KACV;IAED,yCAAyC;IACzC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAA;IACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAA;IAChC,IAAI,OAAO,GAAG,cAAc,CAAA;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;YACnD,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;YACzB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAA;YAC3D,OAAO,GAAG,MAAM,CAAA;YAEhB,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;gBACxB,KAAK,IAAI,GAAG,MAAM,GAAG,CAAA;gBACrB,MAAM,GAAG,CAAC,CAAA;aACX;YACD,IAAI,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE;gBACvB,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;gBACnB,KAAK,GAAG,CAAC,CAAA;aACV;YACD,IAAI,MAAM,EAAE;gBACV,EAAE,GAAG,GAAG,CAAA;gBACR,KAAK,IAAI,MAAM,CAAA;aAChB;YAED,IAAI,IAAI,KAAK,GAAG,EAAE;gBAChB,oCAAoC;gBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAA;gBACzC,GAAG,IAAI,KAAK,CAAA;gBACZ,OAAO,IAAI,KAAK,CAAC,MAAM,CAAA;gBACvB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAA;aACtB;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvB,6BAA6B;gBAC7B,GAAG,IAAI,GAAG,CAAA;gBACV,OAAO,EAAE,CAAA;gBACT,KAAK,EAAE,CAAA;aACR;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvB,eAAe;gBACf,GAAG,IAAI,GAAG,CAAA;gBACV,OAAO,EAAE,CAAA;gBACT,KAAK,EAAE,CAAA;aACR;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvC,uBAAuB;gBACvB,OAAO,IAAI,IAAI,CAAA;gBACf,IAAI,KAAK,EAAE;oBACT,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;iBACpB;gBACD,KAAK,IAAI,IAAI,GAAG,IAAI,CAAA;gBACpB,KAAK,GAAG,CAAC,CAAA;aACV;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvC,yBAAyB;gBACzB,GAAG,IAAI,IAAI,CAAA;gBACX,IAAI,KAAK,EAAE;oBACT,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;iBACpB;gBACD,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;gBAC3B,KAAK,GAAG,CAAC,CAAA;aACV;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvB,wBAAwB;gBACxB,cAAc;gBACd,IAAI,KAAK,EAAE;oBACT,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;iBACpB;gBACD,MAAM,EAAE,CAAA;gBACR,GAAG,IAAI,IAAI,CAAA;gBACX,KAAK,GAAG,CAAC,CAAA;aACV;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvB,UAAU;gBACV,IAAI,KAAK,EAAE;oBACT,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;iBACpB;gBACD,KAAK,IAAI,GAAG,IAAI,GAAG,CAAA;aACpB;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;gBACvB,YAAY;gBACZ,IAAI,KAAK,EAAE;oBACT,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;iBACpB;gBACD,KAAK,IAAI,GAAG,IAAI,GAAG,CAAA;gBACnB,KAAK,GAAG,CAAC,CAAA;aACV,CAAC,cAAc;SACjB;KACF;SAAM;QACL,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAA;KAC9B;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE;QAC1B,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAA;QAC7B,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAA;QAErE,IAAI,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE;YACvB,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;YACnB,KAAK,GAAG,CAAC,CAAA;SACV;QACD,EAAE,GAAG,GAAG,CAAA;QACR,KAAK,IAAI,MAAM,CAAA;KAChB;IACD,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;QACxB,KAAK,IAAI,GAAG,MAAM,GAAG,CAAA;KACtB;IACD,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,KAAK,GAAG,EAAE,CAAA;KACpB;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -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
  }
@@ -1,27 +1,22 @@
1
1
  import { HtsgetFile } from '@gmod/bam';
2
- import { readConfObject } from '@jbrowse/core/configuration';
3
2
  import BamAdapter from '../BamAdapter/BamAdapter';
4
3
  export default class HtsgetBamAdapter extends BamAdapter {
5
- async configure() {
6
- if (!this.configured) {
7
- const htsgetBase = readConfObject(this.config, 'htsgetBase');
8
- const htsgetTrackId = readConfObject(this.config, 'htsgetTrackId');
9
- const bam = new HtsgetFile({
10
- baseUrl: htsgetBase,
11
- trackId: htsgetTrackId,
12
- });
13
- const adapterConfig = readConfObject(this.config, 'sequenceAdapter');
14
- if (adapterConfig && this.getSubAdapter) {
15
- this.configured = this.getSubAdapter(adapterConfig).then(({ dataAdapter }) => {
16
- return {
17
- bam,
18
- sequenceAdapter: dataAdapter,
19
- };
20
- });
21
- }
22
- this.configured = Promise.resolve({ bam });
4
+ async configurePre() {
5
+ const htsgetBase = this.getConf('htsgetBase');
6
+ const htsgetTrackId = this.getConf('htsgetTrackId');
7
+ const bam = new HtsgetFile({
8
+ baseUrl: htsgetBase,
9
+ trackId: htsgetTrackId,
10
+ });
11
+ const adapterConfig = this.getConf('sequenceAdapter');
12
+ if (adapterConfig && this.getSubAdapter) {
13
+ const adapter = await this.getSubAdapter(adapterConfig);
14
+ return {
15
+ bam,
16
+ sequenceAdapter: adapter.dataAdapter,
17
+ };
23
18
  }
24
- return this.configured;
19
+ return { bam };
25
20
  }
26
21
  }
27
22
  //# sourceMappingURL=HtsgetBamAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HtsgetBamAdapter.js","sourceRoot":"","sources":["../../src/HtsgetBamAdapter/HtsgetBamAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,OAAO,UAAU,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU;IAC5C,KAAK,CAAC,SAAS;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;YAClE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC;gBACzB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,aAAa;aACvB,CAAuB,CAAA;YAExB,MAAM,aAAa,GAAG,cAAc,CAAC,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"}
1
+ {"version":3,"file":"HtsgetBamAdapter.js","sourceRoot":"","sources":["../../src/HtsgetBamAdapter/HtsgetBamAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,UAAU,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU;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,UAAU,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"}
@@ -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,17 +1,34 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import { types } from 'mobx-state-tree';
3
- export default types.late(() => ConfigurationSchema('HtsgetBamAdapter', {
2
+ /**
3
+ * #config HtsgetBamAdapter
4
+ * Used to fetch data from Htsget endpoints in BAM format, using the gmod/bam library
5
+ */
6
+ function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
7
+ const HtsgetBamAdapter = ConfigurationSchema('HtsgetBamAdapter', {
8
+ /**
9
+ * #slot
10
+ */
4
11
  htsgetBase: {
5
12
  type: 'string',
13
+ description: 'the base URL to fetch from',
6
14
  defaultValue: '',
7
15
  },
16
+ /**
17
+ * #slot
18
+ */
8
19
  htsgetTrackId: {
9
20
  type: 'string',
21
+ description: 'the trackId, which is appended to the base URL',
10
22
  defaultValue: '',
11
23
  },
24
+ /**
25
+ * #slot
26
+ */
12
27
  sequenceAdapter: {
13
28
  type: 'frozen',
29
+ description: 'sequence data adapter, used to calculate SNPs when BAM reads lacking MD tags',
14
30
  defaultValue: null,
15
31
  },
16
- }, { explicitlyTyped: true }));
32
+ }, { explicitlyTyped: true });
33
+ export default HtsgetBamAdapter;
17
34
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/HtsgetBamAdapter/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7B,mBAAmB,CACjB,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,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE;;;GAGG;AACH,SAAS,CAAC,KAAI,CAAC,CAAC,wDAAwD;AAExE,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,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,eAAe,gBAAgB,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { observer } from 'mobx-react';
3
+ import { makeStyles } from 'tss-react/mui';
3
4
  import { getConf } from '@jbrowse/core/configuration';
4
5
  import { ResizeHandle } from '@jbrowse/core/ui';
5
- import { makeStyles } from 'tss-react/mui';
6
6
  const useStyles = makeStyles()(() => ({
7
7
  resizeHandle: {
8
8
  height: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"AlignmentsDisplay.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,MAAM,SAAS,GAAG,UAAU,EAAE,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,4CACe,WAAW,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EACrD,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;QAE9B,YAAY,CAAC,CAAC,CAAC,CACd;YACE,4CAAiB,sBAAsB;gBACrC,oBAAC,kBAAkB,CAAC,kBAAkB,IAAC,KAAK,EAAE,kBAAkB,GAAI,CAChE;YACN,oBAAC,YAAY,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,4CACc,iBAAiB,EAC7B,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClD;YAED,oBAAC,aAAa,CAAC,kBAAkB,IAAC,KAAK,EAAE,aAAa,GAAI,CACtD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"AlignmentsDisplay.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C,MAAM,SAAS,GAAG,UAAU,EAAE,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,4CACe,WAAW,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EACrD,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;QAE9B,YAAY,CAAC,CAAC,CAAC,CACd;YACE,4CAAiB,sBAAsB;gBACrC,oBAAC,kBAAkB,CAAC,kBAAkB,IAAC,KAAK,EAAE,kBAAkB,GAAI,CAChE;YACN,oBAAC,YAAY,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,4CACc,iBAAiB,EAC7B,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClD;YAED,oBAAC,aAAa,CAAC,kBAAkB,IAAC,KAAK,EAAE,aAAa,GAAI,CACtD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,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;
@@ -1,12 +1,29 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { baseLinearDisplayConfigSchema } from '@jbrowse/plugin-linear-genome-view';
3
- const configModelFactory = (pluginManager) => {
4
- const PileupDisplayConfigSchema = pluginManager.getDisplayType('LinearPileupDisplay').configSchema;
5
- const SNPCoverageDisplayConfigSchema = pluginManager.getDisplayType('LinearSNPCoverageDisplay').configSchema;
3
+ /**
4
+ * #config LinearAlignmentsDisplay
5
+ * has a "pileup" sub-display, where you can see individual reads and a
6
+ * quantitative "snpcoverage" sub-display track showing SNP frequencies
7
+ */
8
+ function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
9
+ const configModelFactory = (pm) => {
6
10
  return ConfigurationSchema('LinearAlignmentsDisplay', {
7
- pileupDisplay: PileupDisplayConfigSchema,
8
- snpCoverageDisplay: SNPCoverageDisplayConfigSchema,
9
- }, { baseConfiguration: baseLinearDisplayConfigSchema, explicitlyTyped: true });
11
+ /**
12
+ * #slot
13
+ */
14
+ pileupDisplay: pm.getDisplayType('LinearPileupDisplay').configSchema,
15
+ /**
16
+ * #slot
17
+ */
18
+ snpCoverageDisplay: pm.getDisplayType('LinearSNPCoverageDisplay')
19
+ .configSchema,
20
+ }, {
21
+ /**
22
+ * #baseConfiguration
23
+ */
24
+ baseConfiguration: baseLinearDisplayConfigSchema,
25
+ explicitlyTyped: true,
26
+ });
10
27
  };
11
28
  export default configModelFactory;
12
29
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/models/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;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,mBAAmB,CACxB,yBAAyB,EACzB;QACE,aAAa,EAAE,yBAAyB;QACxC,kBAAkB,EAAE,8BAA8B;KACnD,EACD,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,eAAe,EAAE,IAAI,EAAE,CAC5E,CAAA;AACH,CAAC,CAAA;AAGD,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../../src/LinearAlignmentsDisplay/models/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAGlF;;;;GAIG;AACH,SAAS,CAAC,KAAI,CAAC,CAAC,wDAAwD;AAExE,MAAM,kBAAkB,GAAG,CAAC,EAAiB,EAAE,EAAE;IAC/C,OAAO,mBAAmB,CACxB,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,6BAA6B;QAChD,eAAe,EAAE,IAAI;KACtB,CACF,CAAA;AACH,CAAC,CAAA;AAGD,eAAe,kBAAkB,CAAA"}