@jbrowse/plugin-alignments 2.1.7 → 2.2.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 (138) hide show
  1. package/dist/AlignmentsTrack/index.d.ts +1 -1
  2. package/dist/AlignmentsTrack/index.js +16 -6
  3. package/dist/AlignmentsTrack/index.js.map +1 -1
  4. package/dist/BamAdapter/BamAdapter.d.ts +6 -2
  5. package/dist/BamAdapter/BamAdapter.js +35 -31
  6. package/dist/BamAdapter/BamAdapter.js.map +1 -1
  7. package/dist/BamAdapter/configSchema.d.ts +2 -2
  8. package/dist/BamAdapter/configSchema.js +27 -2
  9. package/dist/BamAdapter/configSchema.js.map +1 -1
  10. package/dist/CramAdapter/CramAdapter.d.ts +13 -7
  11. package/dist/CramAdapter/CramAdapter.js +56 -61
  12. package/dist/CramAdapter/CramAdapter.js.map +1 -1
  13. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +14 -13
  14. package/dist/CramAdapter/CramSlightlyLazyFeature.js +28 -22
  15. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  16. package/dist/CramAdapter/configSchema.d.ts +2 -3
  17. package/dist/CramAdapter/configSchema.js +44 -22
  18. package/dist/CramAdapter/configSchema.js.map +1 -1
  19. package/dist/CramAdapter/index.js +1 -1
  20. package/dist/CramAdapter/index.js.map +1 -1
  21. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +5 -2
  22. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +15 -20
  23. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -1
  24. package/dist/HtsgetBamAdapter/configSchema.d.ts +2 -2
  25. package/dist/HtsgetBamAdapter/configSchema.js +20 -3
  26. package/dist/HtsgetBamAdapter/configSchema.js.map +1 -1
  27. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +1 -1
  28. package/dist/LinearAlignmentsDisplay/models/configSchema.js +23 -6
  29. package/dist/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
  30. package/dist/LinearAlignmentsDisplay/models/model.d.ts +72 -5
  31. package/dist/LinearAlignmentsDisplay/models/model.js +95 -2
  32. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
  33. package/dist/LinearPileupDisplay/configSchema.js +20 -3
  34. package/dist/LinearPileupDisplay/configSchema.js.map +1 -1
  35. package/dist/LinearPileupDisplay/model.d.ts +87 -3
  36. package/dist/LinearPileupDisplay/model.js +616 -503
  37. package/dist/LinearPileupDisplay/model.js.map +1 -1
  38. package/dist/LinearSNPCoverageDisplay/models/configSchema.js +33 -4
  39. package/dist/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -1
  40. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +86 -3
  41. package/dist/LinearSNPCoverageDisplay/models/model.js +240 -159
  42. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  43. package/dist/PileupRenderer/PileupRenderer.d.ts +1 -1
  44. package/dist/PileupRenderer/PileupRenderer.js +5 -6
  45. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  46. package/dist/PileupRenderer/configSchema.d.ts +2 -2
  47. package/dist/PileupRenderer/configSchema.js +37 -2
  48. package/dist/PileupRenderer/configSchema.js.map +1 -1
  49. package/dist/SNPCoverageAdapter/configSchema.d.ts +2 -2
  50. package/dist/SNPCoverageAdapter/configSchema.js +11 -3
  51. package/dist/SNPCoverageAdapter/configSchema.js.map +1 -1
  52. package/dist/SNPCoverageRenderer/configSchema.d.ts +2 -2
  53. package/dist/SNPCoverageRenderer/configSchema.js +21 -1
  54. package/dist/SNPCoverageRenderer/configSchema.js.map +1 -1
  55. package/dist/SNPCoverageRenderer/index.d.ts +0 -1
  56. package/dist/SNPCoverageRenderer/index.js +1 -4
  57. package/dist/SNPCoverageRenderer/index.js.map +1 -1
  58. package/esm/AlignmentsTrack/index.d.ts +1 -1
  59. package/esm/AlignmentsTrack/index.js +16 -6
  60. package/esm/AlignmentsTrack/index.js.map +1 -1
  61. package/esm/BamAdapter/BamAdapter.d.ts +6 -2
  62. package/esm/BamAdapter/BamAdapter.js +35 -31
  63. package/esm/BamAdapter/BamAdapter.js.map +1 -1
  64. package/esm/BamAdapter/configSchema.d.ts +2 -2
  65. package/esm/BamAdapter/configSchema.js +27 -2
  66. package/esm/BamAdapter/configSchema.js.map +1 -1
  67. package/esm/CramAdapter/CramAdapter.d.ts +13 -7
  68. package/esm/CramAdapter/CramAdapter.js +56 -61
  69. package/esm/CramAdapter/CramAdapter.js.map +1 -1
  70. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +14 -13
  71. package/esm/CramAdapter/CramSlightlyLazyFeature.js +28 -22
  72. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  73. package/esm/CramAdapter/configSchema.d.ts +2 -3
  74. package/esm/CramAdapter/configSchema.js +44 -22
  75. package/esm/CramAdapter/configSchema.js.map +1 -1
  76. package/esm/CramAdapter/index.js +2 -2
  77. package/esm/CramAdapter/index.js.map +1 -1
  78. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +5 -2
  79. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js +15 -20
  80. package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -1
  81. package/esm/HtsgetBamAdapter/configSchema.d.ts +2 -2
  82. package/esm/HtsgetBamAdapter/configSchema.js +20 -3
  83. package/esm/HtsgetBamAdapter/configSchema.js.map +1 -1
  84. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +1 -1
  85. package/esm/LinearAlignmentsDisplay/models/configSchema.js +23 -6
  86. package/esm/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
  87. package/esm/LinearAlignmentsDisplay/models/model.d.ts +72 -5
  88. package/esm/LinearAlignmentsDisplay/models/model.js +95 -2
  89. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
  90. package/esm/LinearPileupDisplay/configSchema.js +20 -3
  91. package/esm/LinearPileupDisplay/configSchema.js.map +1 -1
  92. package/esm/LinearPileupDisplay/model.d.ts +87 -3
  93. package/esm/LinearPileupDisplay/model.js +616 -503
  94. package/esm/LinearPileupDisplay/model.js.map +1 -1
  95. package/esm/LinearSNPCoverageDisplay/models/configSchema.js +33 -4
  96. package/esm/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -1
  97. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +86 -3
  98. package/esm/LinearSNPCoverageDisplay/models/model.js +240 -159
  99. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  100. package/esm/PileupRenderer/PileupRenderer.d.ts +1 -1
  101. package/esm/PileupRenderer/PileupRenderer.js +5 -6
  102. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  103. package/esm/PileupRenderer/configSchema.d.ts +2 -2
  104. package/esm/PileupRenderer/configSchema.js +37 -2
  105. package/esm/PileupRenderer/configSchema.js.map +1 -1
  106. package/esm/SNPCoverageAdapter/configSchema.d.ts +2 -2
  107. package/esm/SNPCoverageAdapter/configSchema.js +11 -3
  108. package/esm/SNPCoverageAdapter/configSchema.js.map +1 -1
  109. package/esm/SNPCoverageRenderer/configSchema.d.ts +2 -2
  110. package/esm/SNPCoverageRenderer/configSchema.js +21 -1
  111. package/esm/SNPCoverageRenderer/configSchema.js.map +1 -1
  112. package/esm/SNPCoverageRenderer/index.d.ts +0 -1
  113. package/esm/SNPCoverageRenderer/index.js +1 -3
  114. package/esm/SNPCoverageRenderer/index.js.map +1 -1
  115. package/package.json +3 -3
  116. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +54 -54
  117. package/src/AlignmentsTrack/index.ts +18 -12
  118. package/src/BamAdapter/BamAdapter.ts +39 -39
  119. package/src/BamAdapter/configSchema.ts +57 -29
  120. package/src/CramAdapter/CramAdapter.test.ts +1 -2
  121. package/src/CramAdapter/CramAdapter.ts +83 -84
  122. package/src/CramAdapter/CramSlightlyLazyFeature.ts +34 -25
  123. package/src/CramAdapter/configSchema.ts +55 -30
  124. package/src/CramAdapter/index.ts +2 -2
  125. package/src/HtsgetBamAdapter/HtsgetBamAdapter.ts +14 -21
  126. package/src/HtsgetBamAdapter/configSchema.ts +36 -19
  127. package/src/LinearAlignmentsDisplay/models/configSchema.ts +23 -10
  128. package/src/LinearAlignmentsDisplay/models/model.tsx +99 -4
  129. package/src/LinearPileupDisplay/configSchema.ts +23 -5
  130. package/src/LinearPileupDisplay/model.ts +120 -4
  131. package/src/LinearSNPCoverageDisplay/models/configSchema.ts +36 -9
  132. package/src/LinearSNPCoverageDisplay/models/model.ts +83 -4
  133. package/src/PileupRenderer/PileupRenderer.tsx +5 -9
  134. package/src/PileupRenderer/configSchema.ts +39 -2
  135. package/src/SNPCoverageAdapter/configSchema.ts +18 -10
  136. package/src/SNPCoverageRenderer/configSchema.ts +23 -1
  137. package/src/SNPCoverageRenderer/index.ts +1 -8
  138. package/src/declare.d.ts +0 -1
@@ -29,7 +29,7 @@ exports[`open up a widget 1`] = `
29
29
  >
30
30
  <svg
31
31
  aria-hidden="true"
32
- class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium tss-rb1zhf-expandIcon css-i4bv87-MuiSvgIcon-root"
32
+ class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-125qixp-MuiSvgIcon-root-expandIcon"
33
33
  data-testid="ExpandMoreIcon"
34
34
  focusable="false"
35
35
  viewBox="0 0 24 24"
@@ -55,7 +55,7 @@ exports[`open up a widget 1`] = `
55
55
  role="region"
56
56
  >
57
57
  <div
58
- class="MuiAccordionDetails-root tss-1g973hk-expansionPanelDetails css-15v22id-MuiAccordionDetails-root"
58
+ class="MuiAccordionDetails-root css-rqrb7m-MuiAccordionDetails-root-expansionPanelDetails"
59
59
  >
60
60
  <p
61
61
  class="MuiTypography-root MuiTypography-body1 css-ahj2mt-MuiTypography-root"
@@ -63,15 +63,15 @@ exports[`open up a widget 1`] = `
63
63
  Core details
64
64
  </p>
65
65
  <div
66
- class="tss-1m8nxnb-field"
66
+ class="css-1m8nxnb-field"
67
67
  >
68
68
  <div
69
- class="tss-1y9c7n2-fieldName"
69
+ class="css-1y9c7n2-fieldName"
70
70
  >
71
71
  Position
72
72
  </div>
73
73
  <div
74
- class="tss-1omt041-fieldValue"
74
+ class="css-1omt041-fieldValue"
75
75
  >
76
76
  <div>
77
77
  ctgA:3..102 (+)
@@ -79,15 +79,15 @@ exports[`open up a widget 1`] = `
79
79
  </div>
80
80
  </div>
81
81
  <div
82
- class="tss-1m8nxnb-field"
82
+ class="css-1m8nxnb-field"
83
83
  >
84
84
  <div
85
- class="tss-1y9c7n2-fieldName"
85
+ class="css-1y9c7n2-fieldName"
86
86
  >
87
87
  Name
88
88
  </div>
89
89
  <div
90
- class="tss-1omt041-fieldValue"
90
+ class="css-1omt041-fieldValue"
91
91
  >
92
92
  <div>
93
93
  ctgA_3_555_0:0:0_2:0:0_102d
@@ -95,15 +95,15 @@ exports[`open up a widget 1`] = `
95
95
  </div>
96
96
  </div>
97
97
  <div
98
- class="tss-1m8nxnb-field"
98
+ class="css-1m8nxnb-field"
99
99
  >
100
100
  <div
101
- class="tss-1y9c7n2-fieldName"
101
+ class="css-1y9c7n2-fieldName"
102
102
  >
103
103
  Length
104
104
  </div>
105
105
  <div
106
- class="tss-1omt041-fieldValue"
106
+ class="css-1omt041-fieldValue"
107
107
  >
108
108
  <div>
109
109
  100
@@ -111,15 +111,15 @@ exports[`open up a widget 1`] = `
111
111
  </div>
112
112
  </div>
113
113
  <div
114
- class="tss-1m8nxnb-field"
114
+ class="css-1m8nxnb-field"
115
115
  >
116
116
  <div
117
- class="tss-1y9c7n2-fieldName"
117
+ class="css-1y9c7n2-fieldName"
118
118
  >
119
119
  Type
120
120
  </div>
121
121
  <div
122
- class="tss-1omt041-fieldValue"
122
+ class="css-1omt041-fieldValue"
123
123
  >
124
124
  <div>
125
125
  match
@@ -135,16 +135,16 @@ exports[`open up a widget 1`] = `
135
135
  Attributes
136
136
  </p>
137
137
  <div
138
- class="tss-1m8nxnb-field"
138
+ class="css-1m8nxnb-field"
139
139
  >
140
140
  <div
141
- class="tss-1y9c7n2-fieldName"
141
+ class="css-1y9c7n2-fieldName"
142
142
  style="width: 96px;"
143
143
  >
144
144
  seq
145
145
  </div>
146
146
  <div
147
- class="tss-1omt041-fieldValue"
147
+ class="css-1omt041-fieldValue"
148
148
  >
149
149
  <div>
150
150
  TTGTTGCGGAGTTGAACAACGGCATTAGGAACACTTCCGTCTCTCACTTTTATACGATTATGATTGGTTCTTTAGCCTTGGTTTAGATTGGTAGTAGTAG
@@ -152,16 +152,16 @@ exports[`open up a widget 1`] = `
152
152
  </div>
153
153
  </div>
154
154
  <div
155
- class="tss-1m8nxnb-field"
155
+ class="css-1m8nxnb-field"
156
156
  >
157
157
  <div
158
- class="tss-1y9c7n2-fieldName"
158
+ class="css-1y9c7n2-fieldName"
159
159
  style="width: 96px;"
160
160
  >
161
161
  score
162
162
  </div>
163
163
  <div
164
- class="tss-1omt041-fieldValue"
164
+ class="css-1omt041-fieldValue"
165
165
  >
166
166
  <div>
167
167
  37
@@ -169,16 +169,16 @@ exports[`open up a widget 1`] = `
169
169
  </div>
170
170
  </div>
171
171
  <div
172
- class="tss-1m8nxnb-field"
172
+ class="css-1m8nxnb-field"
173
173
  >
174
174
  <div
175
- class="tss-1y9c7n2-fieldName"
175
+ class="css-1y9c7n2-fieldName"
176
176
  style="width: 96px;"
177
177
  >
178
178
  qual
179
179
  </div>
180
180
  <div
181
- class="tss-1omt041-fieldValue"
181
+ class="css-1omt041-fieldValue"
182
182
  >
183
183
  <button
184
184
  type="button"
@@ -196,16 +196,16 @@ exports[`open up a widget 1`] = `
196
196
  </div>
197
197
  </div>
198
198
  <div
199
- class="tss-1m8nxnb-field"
199
+ class="css-1m8nxnb-field"
200
200
  >
201
201
  <div
202
- class="tss-1y9c7n2-fieldName"
202
+ class="css-1y9c7n2-fieldName"
203
203
  style="width: 96px;"
204
204
  >
205
205
  MQ
206
206
  </div>
207
207
  <div
208
- class="tss-1omt041-fieldValue"
208
+ class="css-1omt041-fieldValue"
209
209
  >
210
210
  <div>
211
211
  37
@@ -213,16 +213,16 @@ exports[`open up a widget 1`] = `
213
213
  </div>
214
214
  </div>
215
215
  <div
216
- class="tss-1m8nxnb-field"
216
+ class="css-1m8nxnb-field"
217
217
  >
218
218
  <div
219
- class="tss-1y9c7n2-fieldName"
219
+ class="css-1y9c7n2-fieldName"
220
220
  style="width: 96px;"
221
221
  >
222
222
  CIGAR
223
223
  </div>
224
224
  <div
225
- class="tss-1omt041-fieldValue"
225
+ class="css-1omt041-fieldValue"
226
226
  >
227
227
  <div>
228
228
  100M
@@ -230,16 +230,16 @@ exports[`open up a widget 1`] = `
230
230
  </div>
231
231
  </div>
232
232
  <div
233
- class="tss-1m8nxnb-field"
233
+ class="css-1m8nxnb-field"
234
234
  >
235
235
  <div
236
- class="tss-1y9c7n2-fieldName"
236
+ class="css-1y9c7n2-fieldName"
237
237
  style="width: 96px;"
238
238
  >
239
239
  length_on_ref
240
240
  </div>
241
241
  <div
242
- class="tss-1omt041-fieldValue"
242
+ class="css-1omt041-fieldValue"
243
243
  >
244
244
  <div>
245
245
  100
@@ -247,16 +247,16 @@ exports[`open up a widget 1`] = `
247
247
  </div>
248
248
  </div>
249
249
  <div
250
- class="tss-1m8nxnb-field"
250
+ class="css-1m8nxnb-field"
251
251
  >
252
252
  <div
253
- class="tss-1y9c7n2-fieldName"
253
+ class="css-1y9c7n2-fieldName"
254
254
  style="width: 96px;"
255
255
  >
256
256
  template_length
257
257
  </div>
258
258
  <div
259
- class="tss-1omt041-fieldValue"
259
+ class="css-1omt041-fieldValue"
260
260
  >
261
261
  <div>
262
262
  0
@@ -264,16 +264,16 @@ exports[`open up a widget 1`] = `
264
264
  </div>
265
265
  </div>
266
266
  <div
267
- class="tss-1m8nxnb-field"
267
+ class="css-1m8nxnb-field"
268
268
  >
269
269
  <div
270
- class="tss-1y9c7n2-fieldName"
270
+ class="css-1y9c7n2-fieldName"
271
271
  style="width: 96px;"
272
272
  >
273
273
  seq_length
274
274
  </div>
275
275
  <div
276
- class="tss-1omt041-fieldValue"
276
+ class="css-1omt041-fieldValue"
277
277
  >
278
278
  <div>
279
279
  100
@@ -281,7 +281,7 @@ exports[`open up a widget 1`] = `
281
281
  </div>
282
282
  </div>
283
283
  <div
284
- class="tss-1upvn7b-container2"
284
+ class="css-1upvn7b-container2"
285
285
  >
286
286
  <button
287
287
  class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium css-sghohy-MuiButtonBase-root-MuiButton-root"
@@ -294,7 +294,7 @@ exports[`open up a widget 1`] = `
294
294
  />
295
295
  </button>
296
296
  <div
297
- class="MuiFormControl-root tss-1x17dzq-formControl css-1nrlq1o-MuiFormControl-root"
297
+ class="MuiFormControl-root css-147opmv-MuiFormControl-root-formControl"
298
298
  >
299
299
  <button
300
300
  class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-78trlr-MuiButtonBase-root-MuiIconButton-root"
@@ -349,7 +349,7 @@ exports[`open up a widget 1`] = `
349
349
  >
350
350
  <svg
351
351
  aria-hidden="true"
352
- class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium tss-rb1zhf-expandIcon css-i4bv87-MuiSvgIcon-root"
352
+ class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-125qixp-MuiSvgIcon-root-expandIcon"
353
353
  data-testid="ExpandMoreIcon"
354
354
  focusable="false"
355
355
  viewBox="0 0 24 24"
@@ -375,7 +375,7 @@ exports[`open up a widget 1`] = `
375
375
  role="region"
376
376
  >
377
377
  <div
378
- class="MuiAccordionDetails-root tss-1g973hk-expansionPanelDetails css-15v22id-MuiAccordionDetails-root"
378
+ class="MuiAccordionDetails-root css-rqrb7m-MuiAccordionDetails-root-expansionPanelDetails"
379
379
  >
380
380
  <div
381
381
  class="MuiFormGroup-root css-dmmspl-MuiFormGroup-root"
@@ -384,7 +384,7 @@ exports[`open up a widget 1`] = `
384
384
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
385
385
  >
386
386
  <span
387
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
387
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
388
388
  >
389
389
  <input
390
390
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -418,7 +418,7 @@ exports[`open up a widget 1`] = `
418
418
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
419
419
  >
420
420
  <span
421
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
421
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
422
422
  >
423
423
  <input
424
424
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -452,7 +452,7 @@ exports[`open up a widget 1`] = `
452
452
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
453
453
  >
454
454
  <span
455
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
455
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
456
456
  >
457
457
  <input
458
458
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -486,7 +486,7 @@ exports[`open up a widget 1`] = `
486
486
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
487
487
  >
488
488
  <span
489
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
489
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
490
490
  >
491
491
  <input
492
492
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -520,7 +520,7 @@ exports[`open up a widget 1`] = `
520
520
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
521
521
  >
522
522
  <span
523
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
523
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
524
524
  >
525
525
  <input
526
526
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -554,7 +554,7 @@ exports[`open up a widget 1`] = `
554
554
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
555
555
  >
556
556
  <span
557
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
557
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
558
558
  >
559
559
  <input
560
560
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -588,7 +588,7 @@ exports[`open up a widget 1`] = `
588
588
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
589
589
  >
590
590
  <span
591
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
591
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
592
592
  >
593
593
  <input
594
594
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -622,7 +622,7 @@ exports[`open up a widget 1`] = `
622
622
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
623
623
  >
624
624
  <span
625
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
625
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
626
626
  >
627
627
  <input
628
628
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -656,7 +656,7 @@ exports[`open up a widget 1`] = `
656
656
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
657
657
  >
658
658
  <span
659
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
659
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
660
660
  >
661
661
  <input
662
662
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -690,7 +690,7 @@ exports[`open up a widget 1`] = `
690
690
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
691
691
  >
692
692
  <span
693
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
693
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
694
694
  >
695
695
  <input
696
696
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -724,7 +724,7 @@ exports[`open up a widget 1`] = `
724
724
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
725
725
  >
726
726
  <span
727
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
727
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
728
728
  >
729
729
  <input
730
730
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -758,7 +758,7 @@ exports[`open up a widget 1`] = `
758
758
  class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-j204z7-MuiFormControlLabel-root"
759
759
  >
760
760
  <span
761
- class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary tss-18u5im4-compact css-12wnr2w-MuiButtonBase-root-MuiCheckbox-root"
761
+ class="MuiButtonBase-root MuiCheckbox-root MuiCheckbox-colorPrimary PrivateSwitchBase-root MuiCheckbox-root MuiCheckbox-colorPrimary MuiCheckbox-root MuiCheckbox-colorPrimary css-1r7hq7f-MuiButtonBase-root-MuiCheckbox-root-compact"
762
762
  >
763
763
  <input
764
764
  class="PrivateSwitchBase-input css-1m9pwf3"
@@ -5,28 +5,34 @@ import {
5
5
  createBaseTrackConfig,
6
6
  createBaseTrackModel,
7
7
  } from '@jbrowse/core/pluggableElementTypes/models'
8
+
9
+ /**
10
+ * #config AlignmentsTrack
11
+ * has very little config; most config and state logic is on the display
12
+ */
13
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
14
+
8
15
  function configSchemaFactory(pluginManager: PluginManager) {
9
16
  return ConfigurationSchema(
10
17
  'AlignmentsTrack',
11
18
  {},
12
- { baseConfiguration: createBaseTrackConfig(pluginManager) },
19
+ {
20
+ /**
21
+ * #baseConfiguration
22
+ */
23
+ baseConfiguration: createBaseTrackConfig(pluginManager),
24
+ },
13
25
  )
14
26
  }
15
- export default function register(pluginManager: PluginManager) {
16
- pluginManager.addTrackType(() => {
17
- const configSchema = configSchemaFactory(pluginManager)
27
+ export default function register(pm: PluginManager) {
28
+ pm.addTrackType(() => {
29
+ const configSchema = configSchemaFactory(pm)
18
30
  const track = new TrackType({
19
31
  name: 'AlignmentsTrack',
20
32
  configSchema,
21
- stateModel: createBaseTrackModel(
22
- pluginManager,
23
- 'AlignmentsTrack',
24
- configSchema,
25
- ),
33
+ stateModel: createBaseTrackModel(pm, 'AlignmentsTrack', configSchema),
26
34
  })
27
- const linearAlignmentsDisplay = pluginManager.getDisplayType(
28
- 'LinearAlignmentsDisplay',
29
- )
35
+ const linearAlignmentsDisplay = pm.getDisplayType('LinearAlignmentsDisplay')
30
36
  // Add LinearAlignmentsDisplay here so that it has priority over the other
31
37
  // linear displays (defaults to order the displays are added, but we have
32
38
  // to add the Pileup and SNPCoverage displays first).
@@ -9,7 +9,6 @@ import { openLocation } from '@jbrowse/core/util/io'
9
9
  import { ObservableCreate } from '@jbrowse/core/util/rxjs'
10
10
  import { Feature } from '@jbrowse/core/util/simpleFeature'
11
11
  import { toArray } from 'rxjs/operators'
12
- import { readConfObject } from '@jbrowse/core/configuration'
13
12
  import BamSlightlyLazyFeature from './BamSlightlyLazyFeature'
14
13
 
15
14
  interface Header {
@@ -21,51 +20,52 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
21
20
  private samHeader?: Header
22
21
 
23
22
  private setupP?: Promise<Header>
24
-
25
- protected configured?: Promise<{
23
+ private configureP?: Promise<{
26
24
  bam: BamFile
27
25
  sequenceAdapter?: BaseFeatureDataAdapter
28
26
  }>
29
27
 
30
28
  // derived classes may not use the same configuration so a custom
31
29
  // configure method allows derived classes to override this behavior
32
- protected async configure() {
33
- if (!this.configured) {
34
- const bamLocation = readConfObject(this.config, 'bamLocation')
35
- const location = readConfObject(this.config, ['index', 'location'])
36
- const indexType = readConfObject(this.config, ['index', 'indexType'])
37
- const bam = new BamFile({
38
- bamFilehandle: openLocation(bamLocation, this.pluginManager),
39
- csiFilehandle:
40
- indexType === 'CSI'
41
- ? openLocation(location, this.pluginManager)
42
- : undefined,
43
- baiFilehandle:
44
- indexType !== 'CSI'
45
- ? openLocation(location, this.pluginManager)
46
- : undefined,
47
-
48
- // chunkSizeLimit and fetchSizeLimit are more troublesome than
49
- // helpful, and have given overly large values on the ultra long
50
- // nanopore reads even with 500MB limits, so disabled with infinity
51
- chunkSizeLimit: Infinity,
52
- fetchSizeLimit: Infinity,
53
- yieldThreadTime: Infinity,
54
- })
30
+ protected async configurePre() {
31
+ const bamLocation = this.getConf('bamLocation')
32
+ const location = this.getConf(['index', 'location'])
33
+ const indexType = this.getConf(['index', 'indexType'])
34
+ const pm = this.pluginManager
35
+ const csi = indexType === 'CSI'
36
+ const bam = new BamFile({
37
+ bamFilehandle: openLocation(bamLocation, pm),
38
+ csiFilehandle: csi ? openLocation(location, pm) : undefined,
39
+ baiFilehandle: !csi ? openLocation(location, pm) : undefined,
40
+
41
+ // chunkSizeLimit and fetchSizeLimit are more troublesome than
42
+ // helpful, and have given overly large values on the ultra long
43
+ // nanopore reads even with 500MB limits, so disabled with infinity
44
+ chunkSizeLimit: Infinity,
45
+ fetchSizeLimit: Infinity,
46
+ yieldThreadTime: Infinity,
47
+ })
55
48
 
56
- const adapterConfig = readConfObject(this.config, 'sequenceAdapter')
57
- if (adapterConfig && this.getSubAdapter) {
58
- this.configured = this.getSubAdapter(adapterConfig).then(
59
- ({ dataAdapter }) => ({
60
- bam,
61
- sequenceAdapter: dataAdapter as BaseFeatureDataAdapter,
62
- }),
63
- )
64
- } else {
65
- this.configured = Promise.resolve({ bam })
49
+ const adapterConfig = this.getConf('sequenceAdapter')
50
+ if (adapterConfig && this.getSubAdapter) {
51
+ const { dataAdapter } = await this.getSubAdapter(adapterConfig)
52
+ return {
53
+ bam,
54
+ sequenceAdapter: dataAdapter as BaseFeatureDataAdapter,
66
55
  }
56
+ } else {
57
+ return { bam }
58
+ }
59
+ }
60
+
61
+ protected async configure() {
62
+ if (!this.configureP) {
63
+ this.configureP = this.configurePre().catch(e => {
64
+ this.configureP = undefined
65
+ throw e
66
+ })
67
67
  }
68
- return this.configured
68
+ return this.configureP
69
69
  }
70
70
 
71
71
  async getHeader(opts?: BaseOptions) {
@@ -231,7 +231,7 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
231
231
  // @ts-ignore
232
232
  if (bam.index.filehandle !== '?') {
233
233
  const bytes = await bytesForRegions(regions, bam)
234
- const fetchSizeLimit = readConfObject(this.config, 'fetchSizeLimit')
234
+ const fetchSizeLimit = this.getConf('fetchSizeLimit')
235
235
  return { bytes, fetchSizeLimit }
236
236
  } else {
237
237
  return super.estimateRegionsStats(regions, opts)
@@ -241,7 +241,7 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
241
241
  freeResources(/* { region } */): void {}
242
242
 
243
243
  // depends on setup being called before the BAM constructor
244
- refIdToName(refId: number): string | undefined {
244
+ refIdToName(refId: number) {
245
245
  return this.samHeader?.idToName[refId]
246
246
  }
247
247
  }
@@ -1,37 +1,65 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
2
  import { types } from 'mobx-state-tree'
3
3
 
4
- export default types.late(() =>
5
- ConfigurationSchema(
6
- 'BamAdapter',
7
- {
8
- bamLocation: {
9
- type: 'fileLocation',
10
- defaultValue: { uri: '/path/to/my.bam', locationType: 'UriLocation' },
4
+ /**
5
+ * #config BamAdapter
6
+ * used to configure BAM adapter
7
+ */
8
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
9
+
10
+ const configSchema = ConfigurationSchema(
11
+ 'BamAdapter',
12
+ {
13
+ /**
14
+ * #slot
15
+ */
16
+ bamLocation: {
17
+ type: 'fileLocation',
18
+ defaultValue: { uri: '/path/to/my.bam', locationType: 'UriLocation' },
19
+ },
20
+
21
+ index: ConfigurationSchema('BamIndex', {
22
+ /**
23
+ * #slot index.indexType
24
+ */
25
+ indexType: {
26
+ model: types.enumeration('IndexType', ['BAI', 'CSI']),
27
+ type: 'stringEnum',
28
+ defaultValue: 'BAI',
11
29
  },
12
- index: ConfigurationSchema('BamIndex', {
13
- indexType: {
14
- model: types.enumeration('IndexType', ['BAI', 'CSI']),
15
- type: 'stringEnum',
16
- defaultValue: 'BAI',
17
- },
18
- location: {
19
- type: 'fileLocation',
20
- defaultValue: {
21
- uri: '/path/to/my.bam.bai',
22
- locationType: 'UriLocation',
23
- },
30
+ /**
31
+ * #slot index.location
32
+ */
33
+ location: {
34
+ type: 'fileLocation',
35
+ defaultValue: {
36
+ uri: '/path/to/my.bam.bai',
37
+ locationType: 'UriLocation',
24
38
  },
25
- }),
26
- fetchSizeLimit: {
27
- type: 'number',
28
- defaultValue: 5_000_000,
29
- },
30
- sequenceAdapter: {
31
- type: 'frozen',
32
- defaultValue: null,
33
39
  },
40
+ }),
41
+ /**
42
+ * #slot
43
+ */
44
+ fetchSizeLimit: {
45
+ type: 'number',
46
+ description:
47
+ 'used to determine when to display a warning to the user that too much data will be fetched',
48
+ defaultValue: 5_000_000,
34
49
  },
35
- { explicitlyTyped: true },
36
- ),
50
+ /**
51
+ * #slot
52
+ * generally refers to the reference genome assembly's sequence adapter
53
+ * currently needs to be manually added
54
+ */
55
+ sequenceAdapter: {
56
+ type: 'frozen',
57
+ description:
58
+ 'sequence data adapter, used to calculate SNPs when BAM reads lacking MD tags',
59
+ defaultValue: null,
60
+ },
61
+ },
62
+ { explicitlyTyped: true },
37
63
  )
64
+
65
+ export default configSchema
@@ -4,10 +4,9 @@ import PluginManager from '@jbrowse/core/PluginManager'
4
4
  import { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache'
5
5
  import Adapter from './CramAdapter'
6
6
  import { SequenceAdapter } from './CramTestAdapters'
7
- import configSchemaF from './configSchema'
7
+ import configSchema from './configSchema'
8
8
 
9
9
  const pluginManager = new PluginManager()
10
- const configSchema = pluginManager.load(configSchemaF)
11
10
 
12
11
  const getVolvoxSequenceSubAdapter: getSubAdapterType = async () => {
13
12
  return {