@jbrowse/plugin-variants 2.1.6 → 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 (97) hide show
  1. package/dist/ChordVariantDisplay/index.d.ts +1 -2
  2. package/dist/ChordVariantDisplay/index.js +13 -10
  3. package/dist/ChordVariantDisplay/index.js.map +1 -1
  4. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +19 -1
  5. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +22 -3
  6. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -1
  7. package/dist/ChordVariantDisplay/models/configSchema.d.ts +3 -0
  8. package/dist/ChordVariantDisplay/models/configSchema.js +25 -0
  9. package/dist/ChordVariantDisplay/models/configSchema.js.map +1 -0
  10. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +112 -0
  11. package/dist/ChordVariantDisplay/models/stateModelFactory.js +55 -0
  12. package/dist/ChordVariantDisplay/models/stateModelFactory.js.map +1 -0
  13. package/dist/LinearVariantDisplay/configSchema.d.ts +2 -2
  14. package/dist/LinearVariantDisplay/configSchema.js +16 -5
  15. package/dist/LinearVariantDisplay/configSchema.js.map +1 -1
  16. package/dist/LinearVariantDisplay/index.js +2 -2
  17. package/dist/LinearVariantDisplay/index.js.map +1 -1
  18. package/dist/LinearVariantDisplay/model.d.ts +21 -3
  19. package/dist/LinearVariantDisplay/model.js +16 -2
  20. package/dist/LinearVariantDisplay/model.js.map +1 -1
  21. package/dist/StructuralVariantChordRenderer/configSchema.d.ts +2 -0
  22. package/dist/StructuralVariantChordRenderer/configSchema.js +38 -0
  23. package/dist/StructuralVariantChordRenderer/configSchema.js.map +1 -0
  24. package/dist/StructuralVariantChordRenderer/index.d.ts +1 -2
  25. package/dist/StructuralVariantChordRenderer/index.js +4 -24
  26. package/dist/StructuralVariantChordRenderer/index.js.map +1 -1
  27. package/dist/VariantTrack/configSchema.d.ts +3 -0
  28. package/dist/VariantTrack/configSchema.js +18 -0
  29. package/dist/VariantTrack/configSchema.js.map +1 -0
  30. package/dist/VariantTrack/index.d.ts +1 -1
  31. package/dist/VariantTrack/index.js +5 -5
  32. package/dist/VariantTrack/index.js.map +1 -1
  33. package/dist/VcfAdapter/configSchema.d.ts +2 -2
  34. package/dist/VcfAdapter/configSchema.js +9 -1
  35. package/dist/VcfAdapter/configSchema.js.map +1 -1
  36. package/dist/VcfTabixAdapter/configSchema.d.ts +2 -2
  37. package/dist/VcfTabixAdapter/configSchema.js +15 -1
  38. package/dist/VcfTabixAdapter/configSchema.js.map +1 -1
  39. package/dist/index.js +2 -2
  40. package/dist/index.js.map +1 -1
  41. package/esm/ChordVariantDisplay/index.d.ts +1 -2
  42. package/esm/ChordVariantDisplay/index.js +13 -10
  43. package/esm/ChordVariantDisplay/index.js.map +1 -1
  44. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +19 -1
  45. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js +21 -5
  46. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -1
  47. package/esm/ChordVariantDisplay/models/configSchema.d.ts +3 -0
  48. package/esm/ChordVariantDisplay/models/configSchema.js +23 -0
  49. package/esm/ChordVariantDisplay/models/configSchema.js.map +1 -0
  50. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +112 -0
  51. package/esm/ChordVariantDisplay/models/stateModelFactory.js +53 -0
  52. package/esm/ChordVariantDisplay/models/stateModelFactory.js.map +1 -0
  53. package/esm/LinearVariantDisplay/configSchema.d.ts +2 -2
  54. package/esm/LinearVariantDisplay/configSchema.js +15 -3
  55. package/esm/LinearVariantDisplay/configSchema.js.map +1 -1
  56. package/esm/LinearVariantDisplay/index.js +2 -2
  57. package/esm/LinearVariantDisplay/index.js.map +1 -1
  58. package/esm/LinearVariantDisplay/model.d.ts +21 -3
  59. package/esm/LinearVariantDisplay/model.js +15 -1
  60. package/esm/LinearVariantDisplay/model.js.map +1 -1
  61. package/esm/StructuralVariantChordRenderer/configSchema.d.ts +2 -0
  62. package/esm/StructuralVariantChordRenderer/configSchema.js +36 -0
  63. package/esm/StructuralVariantChordRenderer/configSchema.js.map +1 -0
  64. package/esm/StructuralVariantChordRenderer/index.d.ts +1 -2
  65. package/esm/StructuralVariantChordRenderer/index.js +3 -23
  66. package/esm/StructuralVariantChordRenderer/index.js.map +1 -1
  67. package/esm/VariantTrack/configSchema.d.ts +3 -0
  68. package/esm/VariantTrack/configSchema.js +16 -0
  69. package/esm/VariantTrack/configSchema.js.map +1 -0
  70. package/esm/VariantTrack/index.d.ts +1 -1
  71. package/esm/VariantTrack/index.js +6 -6
  72. package/esm/VariantTrack/index.js.map +1 -1
  73. package/esm/VcfAdapter/configSchema.d.ts +2 -2
  74. package/esm/VcfAdapter/configSchema.js +9 -1
  75. package/esm/VcfAdapter/configSchema.js.map +1 -1
  76. package/esm/VcfTabixAdapter/configSchema.d.ts +2 -2
  77. package/esm/VcfTabixAdapter/configSchema.js +15 -1
  78. package/esm/VcfTabixAdapter/configSchema.js.map +1 -1
  79. package/esm/index.js +4 -4
  80. package/esm/index.js.map +1 -1
  81. package/package.json +2 -2
  82. package/src/ChordVariantDisplay/index.ts +13 -12
  83. package/src/ChordVariantDisplay/models/ChordVariantDisplay.ts +22 -19
  84. package/src/ChordVariantDisplay/models/configSchema.ts +33 -0
  85. package/src/ChordVariantDisplay/models/stateModelFactory.ts +65 -0
  86. package/src/LinearVariantDisplay/configSchema.test.js +1 -1
  87. package/src/LinearVariantDisplay/configSchema.ts +16 -8
  88. package/src/LinearVariantDisplay/index.ts +2 -2
  89. package/src/LinearVariantDisplay/model.ts +17 -1
  90. package/src/StructuralVariantChordRenderer/configSchema.ts +42 -0
  91. package/src/StructuralVariantChordRenderer/index.ts +9 -32
  92. package/src/VariantFeatureWidget/__snapshots__/VariantFeatureWidget.test.js.snap +25 -25
  93. package/src/VariantTrack/configSchema.ts +24 -0
  94. package/src/VariantTrack/index.ts +6 -17
  95. package/src/VcfAdapter/configSchema.ts +11 -1
  96. package/src/VcfTabixAdapter/configSchema.ts +17 -1
  97. package/src/index.ts +4 -10
@@ -0,0 +1,42 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
+ /**
3
+ * #config StructuralVariantChordRenderer
4
+ */
5
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
6
+
7
+ const configSchema = ConfigurationSchema(
8
+ 'StructuralVariantChordRenderer',
9
+ {
10
+ /**
11
+ * #slot
12
+ */
13
+ strokeColor: {
14
+ type: 'color',
15
+ description: 'the line color of each arc',
16
+ defaultValue: 'rgba(255,133,0,0.32)',
17
+ contextVariable: ['feature'],
18
+ },
19
+ /**
20
+ * #slot
21
+ */
22
+ strokeColorSelected: {
23
+ type: 'color',
24
+ description: 'the line color of an arc that has been selected',
25
+ defaultValue: 'black',
26
+ contextVariable: ['feature'],
27
+ },
28
+ /**
29
+ * #slot
30
+ */
31
+ strokeColorHover: {
32
+ type: 'color',
33
+ description:
34
+ 'the line color of an arc that is being hovered over with the mouse',
35
+ defaultValue: '#555',
36
+ contextVariable: ['feature'],
37
+ },
38
+ },
39
+ { explicitlyTyped: true },
40
+ )
41
+
42
+ export default configSchema
@@ -1,41 +1,18 @@
1
1
  import ChordRendererType from '@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType'
2
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
3
2
  import PluginManager from '@jbrowse/core/PluginManager'
4
-
3
+ import configSchema from './configSchema'
5
4
  import ReactComponent from './ReactComponent'
6
5
 
7
6
  const ChordRendererConfigF = (pluginManager: PluginManager) => {
8
- const configSchema = ConfigurationSchema(
9
- 'StructuralVariantChordRenderer',
10
- {
11
- strokeColor: {
12
- type: 'color',
13
- description: 'the line color of each arc',
14
- defaultValue: 'rgba(255,133,0,0.32)',
15
- contextVariable: ['feature'],
16
- },
17
- strokeColorSelected: {
18
- type: 'color',
19
- description: 'the line color of an arc that has been selected',
20
- defaultValue: 'black',
21
- contextVariable: ['feature'],
22
- },
23
- strokeColorHover: {
24
- type: 'color',
25
- description:
26
- 'the line color of an arc that is being hovered over with the mouse',
27
- defaultValue: '#555',
28
- contextVariable: ['feature'],
29
- },
30
- },
31
- { explicitlyTyped: true },
7
+ pluginManager.addRendererType(
8
+ () =>
9
+ new ChordRendererType({
10
+ name: 'StructuralVariantChordRenderer',
11
+ ReactComponent,
12
+ configSchema,
13
+ pluginManager,
14
+ }),
32
15
  )
33
- return new ChordRendererType({
34
- name: 'StructuralVariantChordRenderer',
35
- ReactComponent,
36
- configSchema,
37
- pluginManager,
38
- })
39
16
  }
40
17
 
41
18
  export default ChordRendererConfigF
@@ -29,7 +29,7 @@ exports[`VariantTrack widget renders with just the required model elements 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[`VariantTrack widget renders with just the required model elements 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[`VariantTrack widget renders with just the required model elements 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:177..177
@@ -79,15 +79,15 @@ exports[`VariantTrack widget renders with just the required model elements 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
  rs123
@@ -95,15 +95,15 @@ exports[`VariantTrack widget renders with just the required model elements 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
  1
@@ -119,17 +119,17 @@ exports[`VariantTrack widget renders with just the required model elements 1`] =
119
119
  Attributes
120
120
  </p>
121
121
  <div
122
- class="tss-1m8nxnb-field"
122
+ class="css-1m8nxnb-field"
123
123
  >
124
124
  <div
125
125
  aria-label="reference base(s): Each base must be one of A,C,G,T,N (case insensitive)."
126
- class="tss-1qe2j6j-fieldDescription-fieldName"
126
+ class="css-1qe2j6j-fieldDescription-fieldName"
127
127
  data-mui-internal-clone-element="true"
128
128
  >
129
129
  REF
130
130
  </div>
131
131
  <div
132
- class="tss-1omt041-fieldValue"
132
+ class="css-1omt041-fieldValue"
133
133
  >
134
134
  <div>
135
135
  A
@@ -137,17 +137,17 @@ exports[`VariantTrack widget renders with just the required model elements 1`] =
137
137
  </div>
138
138
  </div>
139
139
  <div
140
- class="tss-1m8nxnb-field"
140
+ class="css-1m8nxnb-field"
141
141
  >
142
142
  <div
143
143
  aria-label="alternate base(s): Comma-separated list of alternate non-reference alleles"
144
- class="tss-1qe2j6j-fieldDescription-fieldName"
144
+ class="css-1qe2j6j-fieldDescription-fieldName"
145
145
  data-mui-internal-clone-element="true"
146
146
  >
147
147
  ALT
148
148
  </div>
149
149
  <div
150
- class="tss-1omt041-fieldValue"
150
+ class="css-1omt041-fieldValue"
151
151
  >
152
152
  <div>
153
153
  &lt;TRA&gt;
@@ -155,17 +155,17 @@ exports[`VariantTrack widget renders with just the required model elements 1`] =
155
155
  </div>
156
156
  </div>
157
157
  <div
158
- class="tss-1m8nxnb-field"
158
+ class="css-1m8nxnb-field"
159
159
  >
160
160
  <div
161
161
  aria-label="quality: Phred-scaled quality score for the assertion made in ALT"
162
- class="tss-1qe2j6j-fieldDescription-fieldName"
162
+ class="css-1qe2j6j-fieldDescription-fieldName"
163
163
  data-mui-internal-clone-element="true"
164
164
  >
165
165
  QUAL
166
166
  </div>
167
167
  <div
168
- class="tss-1omt041-fieldValue"
168
+ class="css-1omt041-fieldValue"
169
169
  >
170
170
  <div>
171
171
  10.4
@@ -173,16 +173,16 @@ exports[`VariantTrack widget renders with just the required model elements 1`] =
173
173
  </div>
174
174
  </div>
175
175
  <div
176
- class="tss-1m8nxnb-field"
176
+ class="css-1m8nxnb-field"
177
177
  >
178
178
  <div
179
- class="tss-1y9c7n2-fieldName"
179
+ class="css-1y9c7n2-fieldName"
180
180
  style="width: 62px;"
181
181
  >
182
182
  INFO.MQ
183
183
  </div>
184
184
  <div
185
- class="tss-1omt041-fieldValue"
185
+ class="css-1omt041-fieldValue"
186
186
  >
187
187
  <div>
188
188
  5
@@ -190,7 +190,7 @@ exports[`VariantTrack widget renders with just the required model elements 1`] =
190
190
  </div>
191
191
  </div>
192
192
  <div
193
- class="tss-1upvn7b-container2"
193
+ class="css-1upvn7b-container2"
194
194
  >
195
195
  <button
196
196
  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"
@@ -203,7 +203,7 @@ exports[`VariantTrack widget renders with just the required model elements 1`] =
203
203
  />
204
204
  </button>
205
205
  <div
206
- class="MuiFormControl-root tss-1x17dzq-formControl css-1nrlq1o-MuiFormControl-root"
206
+ class="MuiFormControl-root css-147opmv-MuiFormControl-root-formControl"
207
207
  >
208
208
  <button
209
209
  class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-78trlr-MuiButtonBase-root-MuiIconButton-root"
@@ -0,0 +1,24 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
+ import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes'
3
+ import PluginManager from '@jbrowse/core/PluginManager'
4
+
5
+ /**
6
+ * #config VariantTrack
7
+ * Mostly similar to feature track, but has `ChordDisplayType` registered to it,
8
+ * and custom feature details in `LinearVariantDisplay`
9
+ */
10
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
11
+
12
+ const configSchema = (pluginManager: PluginManager) =>
13
+ ConfigurationSchema(
14
+ 'VariantTrack',
15
+ {},
16
+ {
17
+ /**
18
+ * #baseConfiguration
19
+ */
20
+ baseConfiguration: createBaseTrackConfig(pluginManager),
21
+ },
22
+ )
23
+
24
+ export default configSchema
@@ -1,26 +1,15 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager'
2
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
3
2
  import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType'
4
- import {
5
- createBaseTrackConfig,
6
- createBaseTrackModel,
7
- } from '@jbrowse/core/pluggableElementTypes/models'
3
+ import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
4
+ import configSchemaF from './configSchema'
8
5
 
9
- export default (pluginManager: PluginManager) => {
10
- pluginManager.addTrackType(() => {
11
- const configSchema = ConfigurationSchema(
12
- 'VariantTrack',
13
- {},
14
- { baseConfiguration: createBaseTrackConfig(pluginManager) },
15
- )
6
+ export default (pm: PluginManager) => {
7
+ pm.addTrackType(() => {
8
+ const configSchema = configSchemaF(pm)
16
9
  return new TrackType({
17
10
  name: 'VariantTrack',
18
11
  configSchema,
19
- stateModel: createBaseTrackModel(
20
- pluginManager,
21
- 'VariantTrack',
22
- configSchema,
23
- ),
12
+ stateModel: createBaseTrackModel(pm, 'VariantTrack', configSchema),
24
13
  })
25
14
  })
26
15
  }
@@ -1,8 +1,16 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
2
 
3
- export default ConfigurationSchema(
3
+ /**
4
+ * #config VcfAdapter
5
+ */
6
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
7
+
8
+ const VcfAdapter = ConfigurationSchema(
4
9
  'VcfAdapter',
5
10
  {
11
+ /**
12
+ * #slot
13
+ */
6
14
  vcfLocation: {
7
15
  type: 'fileLocation',
8
16
  defaultValue: { uri: '/path/to/my.vcf', locationType: 'UriLocation' },
@@ -10,3 +18,5 @@ export default ConfigurationSchema(
10
18
  },
11
19
  { explicitlyTyped: true },
12
20
  )
21
+
22
+ export default VcfAdapter
@@ -1,19 +1,33 @@
1
1
  import { types } from 'mobx-state-tree'
2
2
  import { ConfigurationSchema } from '@jbrowse/core/configuration'
3
3
 
4
- export default ConfigurationSchema(
4
+ /**
5
+ * #config VcfTabixAdapter
6
+ */
7
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
8
+
9
+ const VcfTabixAdapter = ConfigurationSchema(
5
10
  'VcfTabixAdapter',
6
11
  {
12
+ /**
13
+ * #slot
14
+ */
7
15
  vcfGzLocation: {
8
16
  type: 'fileLocation',
9
17
  defaultValue: { uri: '/path/to/my.vcf.gz', locationType: 'UriLocation' },
10
18
  },
11
19
  index: ConfigurationSchema('VcfIndex', {
20
+ /**
21
+ * #slot index.indexType
22
+ */
12
23
  indexType: {
13
24
  model: types.enumeration('IndexType', ['TBI', 'CSI']),
14
25
  type: 'stringEnum',
15
26
  defaultValue: 'TBI',
16
27
  },
28
+ /**
29
+ * #slot index.location
30
+ */
17
31
  location: {
18
32
  type: 'fileLocation',
19
33
  defaultValue: {
@@ -25,3 +39,5 @@ export default ConfigurationSchema(
25
39
  },
26
40
  { explicitlyTyped: true },
27
41
  )
42
+
43
+ export default VcfTabixAdapter
package/src/index.ts CHANGED
@@ -4,9 +4,9 @@ import ExtensionPointsF from './extensionPoints'
4
4
  import VariantTrackF from './VariantTrack'
5
5
  import Plugin from '@jbrowse/core/Plugin'
6
6
  import PluginManager from '@jbrowse/core/PluginManager'
7
- import ChordVariantDisplay from './ChordVariantDisplay'
7
+ import ChordVariantDisplayF from './ChordVariantDisplay'
8
8
  import LinearVariantDisplayF from './LinearVariantDisplay'
9
- import StructuralVariantChordRendererFactory from './StructuralVariantChordRenderer'
9
+ import StructuralVariantChordRendererF from './StructuralVariantChordRenderer'
10
10
  import VariantFeatureWidgetF from './VariantFeatureWidget'
11
11
 
12
12
  export default class VariantsPlugin extends Plugin {
@@ -19,14 +19,8 @@ export default class VariantsPlugin extends Plugin {
19
19
  VariantTrackF(pluginManager)
20
20
  ExtensionPointsF(pluginManager)
21
21
  LinearVariantDisplayF(pluginManager)
22
-
23
- pluginManager.addRendererType(() =>
24
- pluginManager.jbrequire(StructuralVariantChordRendererFactory),
25
- )
26
-
27
- pluginManager.addDisplayType(() =>
28
- pluginManager.jbrequire(ChordVariantDisplay),
29
- )
22
+ StructuralVariantChordRendererF(pluginManager)
23
+ ChordVariantDisplayF(pluginManager)
30
24
  }
31
25
  }
32
26