@jbrowse/plugin-sequence 2.1.0 → 2.1.3

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 (148) hide show
  1. package/dist/BgzipFastaAdapter/BgzipFastaAdapter.d.ts +4 -4
  2. package/dist/BgzipFastaAdapter/BgzipFastaAdapter.js +14 -43
  3. package/dist/BgzipFastaAdapter/BgzipFastaAdapter.js.map +1 -1
  4. package/dist/BgzipFastaAdapter/configSchema.js +1 -1
  5. package/dist/BgzipFastaAdapter/configSchema.js.map +1 -1
  6. package/dist/BgzipFastaAdapter/index.d.ts +3 -1
  7. package/dist/BgzipFastaAdapter/index.js +38 -3
  8. package/dist/BgzipFastaAdapter/index.js.map +1 -1
  9. package/dist/ChromSizesAdapter/ChromSizesAdapter.js +34 -130
  10. package/dist/ChromSizesAdapter/ChromSizesAdapter.js.map +1 -1
  11. package/dist/ChromSizesAdapter/configSchema.js +1 -1
  12. package/dist/ChromSizesAdapter/configSchema.js.map +1 -1
  13. package/dist/ChromSizesAdapter/index.d.ts +3 -1
  14. package/dist/ChromSizesAdapter/index.js +38 -3
  15. package/dist/ChromSizesAdapter/index.js.map +1 -1
  16. package/dist/DivSequenceRenderer/components/DivSequenceRendering.js +51 -89
  17. package/dist/DivSequenceRenderer/components/DivSequenceRendering.js.map +1 -1
  18. package/dist/DivSequenceRenderer/configSchema.js +1 -1
  19. package/dist/DivSequenceRenderer/configSchema.js.map +1 -1
  20. package/dist/DivSequenceRenderer/index.d.ts +3 -2
  21. package/dist/DivSequenceRenderer/index.js +25 -5
  22. package/dist/DivSequenceRenderer/index.js.map +1 -1
  23. package/dist/GCContentAdapter/GCContentAdapter.d.ts +1 -7
  24. package/dist/GCContentAdapter/GCContentAdapter.js +75 -180
  25. package/dist/GCContentAdapter/GCContentAdapter.js.map +1 -1
  26. package/dist/GCContentAdapter/configSchema.js +3 -3
  27. package/dist/GCContentAdapter/configSchema.js.map +1 -1
  28. package/dist/GCContentAdapter/index.d.ts +1 -4
  29. package/dist/GCContentAdapter/index.js +15 -7
  30. package/dist/GCContentAdapter/index.js.map +1 -1
  31. package/dist/IndexedFastaAdapter/IndexedFastaAdapter.d.ts +9 -2
  32. package/dist/IndexedFastaAdapter/IndexedFastaAdapter.js +83 -172
  33. package/dist/IndexedFastaAdapter/IndexedFastaAdapter.js.map +1 -1
  34. package/dist/IndexedFastaAdapter/configSchema.js +1 -1
  35. package/dist/IndexedFastaAdapter/configSchema.js.map +1 -1
  36. package/dist/IndexedFastaAdapter/index.d.ts +3 -1
  37. package/dist/IndexedFastaAdapter/index.js +38 -3
  38. package/dist/IndexedFastaAdapter/index.js.map +1 -1
  39. package/dist/LinearReferenceSequenceDisplay/configSchema.js +6 -3
  40. package/dist/LinearReferenceSequenceDisplay/configSchema.js.map +1 -1
  41. package/dist/LinearReferenceSequenceDisplay/index.d.ts +3 -2
  42. package/dist/LinearReferenceSequenceDisplay/index.js +16 -5
  43. package/dist/LinearReferenceSequenceDisplay/index.js.map +1 -1
  44. package/dist/LinearReferenceSequenceDisplay/model.d.ts +1 -1
  45. package/dist/LinearReferenceSequenceDisplay/model.js +29 -33
  46. package/dist/LinearReferenceSequenceDisplay/model.js.map +1 -1
  47. package/dist/{referenceSeqTrackConfig.d.ts → ReferenceSequenceTrack/configSchema.d.ts} +0 -0
  48. package/dist/{referenceSeqTrackConfig.js → ReferenceSequenceTrack/configSchema.js} +19 -30
  49. package/dist/ReferenceSequenceTrack/configSchema.js.map +1 -0
  50. package/dist/ReferenceSequenceTrack/index.d.ts +3 -0
  51. package/dist/ReferenceSequenceTrack/index.js +19 -0
  52. package/dist/ReferenceSequenceTrack/index.js.map +1 -0
  53. package/dist/SequenceSearchAdapter/SequenceSearchAdapter.d.ts +8 -0
  54. package/dist/SequenceSearchAdapter/SequenceSearchAdapter.js +84 -0
  55. package/dist/SequenceSearchAdapter/SequenceSearchAdapter.js.map +1 -0
  56. package/dist/SequenceSearchAdapter/configSchema.d.ts +2 -0
  57. package/dist/SequenceSearchAdapter/configSchema.js +28 -0
  58. package/dist/SequenceSearchAdapter/configSchema.js.map +1 -0
  59. package/dist/SequenceSearchAdapter/index.d.ts +3 -0
  60. package/dist/SequenceSearchAdapter/index.js +44 -0
  61. package/dist/SequenceSearchAdapter/index.js.map +1 -0
  62. package/dist/TwoBitAdapter/TwoBitAdapter.js +66 -174
  63. package/dist/TwoBitAdapter/TwoBitAdapter.js.map +1 -1
  64. package/dist/TwoBitAdapter/configSchema.js +1 -1
  65. package/dist/TwoBitAdapter/configSchema.js.map +1 -1
  66. package/dist/TwoBitAdapter/index.d.ts +3 -1
  67. package/dist/TwoBitAdapter/index.js +38 -3
  68. package/dist/TwoBitAdapter/index.js.map +1 -1
  69. package/dist/createExtensionPoints.d.ts +3 -0
  70. package/dist/createExtensionPoints.js +86 -0
  71. package/dist/createExtensionPoints.js.map +1 -0
  72. package/dist/index.js +27 -261
  73. package/dist/index.js.map +1 -1
  74. package/esm/BgzipFastaAdapter/BgzipFastaAdapter.d.ts +4 -4
  75. package/esm/BgzipFastaAdapter/BgzipFastaAdapter.js +5 -16
  76. package/esm/BgzipFastaAdapter/BgzipFastaAdapter.js.map +1 -1
  77. package/esm/BgzipFastaAdapter/index.d.ts +3 -1
  78. package/esm/BgzipFastaAdapter/index.js +15 -1
  79. package/esm/BgzipFastaAdapter/index.js.map +1 -1
  80. package/esm/ChromSizesAdapter/index.d.ts +3 -1
  81. package/esm/ChromSizesAdapter/index.js +15 -1
  82. package/esm/ChromSizesAdapter/index.js.map +1 -1
  83. package/esm/DivSequenceRenderer/index.d.ts +3 -2
  84. package/esm/DivSequenceRenderer/index.js +25 -2
  85. package/esm/DivSequenceRenderer/index.js.map +1 -1
  86. package/esm/GCContentAdapter/GCContentAdapter.d.ts +1 -7
  87. package/esm/GCContentAdapter/GCContentAdapter.js +7 -18
  88. package/esm/GCContentAdapter/GCContentAdapter.js.map +1 -1
  89. package/esm/GCContentAdapter/index.d.ts +1 -4
  90. package/esm/GCContentAdapter/index.js +11 -3
  91. package/esm/GCContentAdapter/index.js.map +1 -1
  92. package/esm/IndexedFastaAdapter/IndexedFastaAdapter.d.ts +9 -2
  93. package/esm/IndexedFastaAdapter/IndexedFastaAdapter.js +33 -28
  94. package/esm/IndexedFastaAdapter/IndexedFastaAdapter.js.map +1 -1
  95. package/esm/IndexedFastaAdapter/index.d.ts +3 -1
  96. package/esm/IndexedFastaAdapter/index.js +15 -1
  97. package/esm/IndexedFastaAdapter/index.js.map +1 -1
  98. package/esm/LinearReferenceSequenceDisplay/configSchema.js +1 -1
  99. package/esm/LinearReferenceSequenceDisplay/configSchema.js.map +1 -1
  100. package/esm/LinearReferenceSequenceDisplay/index.d.ts +3 -2
  101. package/esm/LinearReferenceSequenceDisplay/index.js +16 -2
  102. package/esm/LinearReferenceSequenceDisplay/index.js.map +1 -1
  103. package/esm/LinearReferenceSequenceDisplay/model.d.ts +1 -1
  104. package/esm/{referenceSeqTrackConfig.d.ts → ReferenceSequenceTrack/configSchema.d.ts} +0 -0
  105. package/esm/{referenceSeqTrackConfig.js → ReferenceSequenceTrack/configSchema.js} +1 -1
  106. package/esm/ReferenceSequenceTrack/configSchema.js.map +1 -0
  107. package/esm/ReferenceSequenceTrack/index.d.ts +3 -0
  108. package/esm/ReferenceSequenceTrack/index.js +14 -0
  109. package/esm/ReferenceSequenceTrack/index.js.map +1 -0
  110. package/esm/SequenceSearchAdapter/SequenceSearchAdapter.d.ts +8 -0
  111. package/esm/SequenceSearchAdapter/SequenceSearchAdapter.js +81 -0
  112. package/esm/SequenceSearchAdapter/SequenceSearchAdapter.js.map +1 -0
  113. package/esm/SequenceSearchAdapter/configSchema.d.ts +2 -0
  114. package/esm/SequenceSearchAdapter/configSchema.js +26 -0
  115. package/esm/SequenceSearchAdapter/configSchema.js.map +1 -0
  116. package/esm/SequenceSearchAdapter/index.d.ts +3 -0
  117. package/esm/SequenceSearchAdapter/index.js +16 -0
  118. package/esm/SequenceSearchAdapter/index.js.map +1 -0
  119. package/esm/TwoBitAdapter/index.d.ts +3 -1
  120. package/esm/TwoBitAdapter/index.js +15 -1
  121. package/esm/TwoBitAdapter/index.js.map +1 -1
  122. package/esm/createExtensionPoints.d.ts +3 -0
  123. package/esm/createExtensionPoints.js +84 -0
  124. package/esm/createExtensionPoints.js.map +1 -0
  125. package/esm/index.js +19 -186
  126. package/esm/index.js.map +1 -1
  127. package/package.json +2 -3
  128. package/src/BgzipFastaAdapter/BgzipFastaAdapter.ts +5 -23
  129. package/src/BgzipFastaAdapter/index.ts +22 -1
  130. package/src/ChromSizesAdapter/index.ts +22 -1
  131. package/src/DivSequenceRenderer/index.ts +31 -2
  132. package/src/GCContentAdapter/GCContentAdapter.ts +15 -25
  133. package/src/GCContentAdapter/index.ts +17 -4
  134. package/src/IndexedFastaAdapter/IndexedFastaAdapter.ts +41 -38
  135. package/src/IndexedFastaAdapter/index.ts +22 -1
  136. package/src/LinearReferenceSequenceDisplay/configSchema.ts +1 -1
  137. package/src/LinearReferenceSequenceDisplay/index.ts +19 -2
  138. package/src/{referenceSeqTrackConfig.ts → ReferenceSequenceTrack/configSchema.ts} +0 -0
  139. package/src/ReferenceSequenceTrack/index.ts +21 -0
  140. package/src/SequenceSearchAdapter/SequenceSearchAdapter.ts +103 -0
  141. package/src/SequenceSearchAdapter/configSchema.ts +31 -0
  142. package/src/SequenceSearchAdapter/index.ts +22 -0
  143. package/src/TwoBitAdapter/index.ts +21 -1
  144. package/src/createExtensionPoints.ts +122 -0
  145. package/src/index.ts +20 -268
  146. package/dist/referenceSeqTrackConfig.js.map +0 -1
  147. package/esm/referenceSeqTrackConfig.js.map +0 -1
  148. package/src/declare.d.ts +0 -1
@@ -0,0 +1,84 @@
1
+ import { makeIndex, getFileName, } from '@jbrowse/core/util/tracks';
2
+ export default (pluginManager) => {
3
+ pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
4
+ return (file, index, adapterHint) => {
5
+ const regexGuess = /\.2bit$/i;
6
+ const adapterName = 'TwoBitAdapter';
7
+ const fileName = getFileName(file);
8
+ const obj = {
9
+ type: adapterName,
10
+ twoBitLocation: file,
11
+ };
12
+ if (regexGuess.test(fileName) && !adapterHint) {
13
+ return obj;
14
+ }
15
+ else if (adapterHint === adapterName) {
16
+ return obj;
17
+ }
18
+ return adapterGuesser(file, index, adapterHint);
19
+ };
20
+ });
21
+ pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
22
+ return (adapterName) => {
23
+ if (adapterName === 'TwoBitAdapter') {
24
+ return 'ReferenceSequenceTrack';
25
+ }
26
+ return trackTypeGuesser(adapterName);
27
+ };
28
+ });
29
+ pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
30
+ return (file, index, adapterHint) => {
31
+ const regexGuess = /\.(fa|fasta|fas|fna|mfa)$/i;
32
+ const adapterName = 'IndexedFastaAdapter';
33
+ const fileName = getFileName(file);
34
+ const obj = {
35
+ type: adapterName,
36
+ fastaLocation: file,
37
+ faiLocation: index || makeIndex(file, '.fai'),
38
+ };
39
+ if (regexGuess.test(fileName) && !adapterHint) {
40
+ return obj;
41
+ }
42
+ else if (adapterHint === adapterName) {
43
+ return obj;
44
+ }
45
+ return adapterGuesser(file, index, adapterHint);
46
+ };
47
+ });
48
+ pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
49
+ return (adapterName) => {
50
+ if (adapterName === 'IndexedFastaAdapter') {
51
+ return 'ReferenceSequenceTrack';
52
+ }
53
+ return trackTypeGuesser(adapterName);
54
+ };
55
+ });
56
+ pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
57
+ return (file, index, adapterHint) => {
58
+ const regexGuess = /\.(fa|fasta|fas|fna|mfa)\.b?gz$/i;
59
+ const adapterName = 'BgzipFastaAdapter';
60
+ const fileName = getFileName(file);
61
+ const obj = {
62
+ type: adapterName,
63
+ faiLocation: makeIndex(file, '.fai'),
64
+ gziLocation: makeIndex(file, '.gzi'),
65
+ };
66
+ if (regexGuess.test(fileName) && !adapterHint) {
67
+ return obj;
68
+ }
69
+ else if (adapterHint === adapterName) {
70
+ return obj;
71
+ }
72
+ return adapterGuesser(file, index, adapterHint);
73
+ };
74
+ });
75
+ pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
76
+ return (adapterName) => {
77
+ if (adapterName === 'BgzipFastaAdapter') {
78
+ return 'ReferenceSequenceTrack';
79
+ }
80
+ return trackTypeGuesser(adapterName);
81
+ };
82
+ });
83
+ };
84
+ //# sourceMappingURL=createExtensionPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createExtensionPoints.js","sourceRoot":"","sources":["../src/createExtensionPoints.ts"],"names":[],"mappings":"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"}
package/esm/index.js CHANGED
@@ -1,197 +1,30 @@
1
- import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
- import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
3
- import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
4
- import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType';
5
1
  import Plugin from '@jbrowse/core/Plugin';
6
- import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
7
- import { makeIndex, getFileName, } from '@jbrowse/core/util/tracks';
8
- import { configSchema as bgzipFastaAdapterConfigSchema } from './BgzipFastaAdapter';
9
- import { configSchema as chromSizesAdapterConfigSchema } from './ChromSizesAdapter';
10
- import { configSchema as divSequenceRendererConfigSchema, ReactComponent as DivSequenceRendererReactComponent, } from './DivSequenceRenderer';
11
- import { configSchema as indexedFastaAdapterConfigSchema } from './IndexedFastaAdapter';
12
- import { configSchema as linearReferenceSequenceDisplayConfigSchema, modelFactory as linearReferenceSequenceDisplayModelFactory, } from './LinearReferenceSequenceDisplay';
13
- import { configSchema as twoBitAdapterConfigSchema } from './TwoBitAdapter';
2
+ import TwoBitAdapterF from './TwoBitAdapter';
3
+ import DivSequenceRendererF from './DivSequenceRenderer';
4
+ import BgzipFastaAdapterF from './BgzipFastaAdapter';
5
+ import ChromSizesAdapterF from './ChromSizesAdapter';
6
+ import IndexedFastaAdapterF from './IndexedFastaAdapter';
14
7
  import GCContentAdapterF from './GCContentAdapter';
15
- import { createReferenceSeqTrackConfig } from './referenceSeqTrackConfig';
16
- /* adjust in both directions */
17
- class DivSequenceRenderer extends FeatureRendererType {
18
- constructor() {
19
- super(...arguments);
20
- this.supportsSVG = true;
21
- }
22
- getExpandedRegion(region) {
23
- return {
24
- ...region,
25
- start: Math.max(region.start - 3, 0),
26
- end: region.end + 3,
27
- };
28
- }
29
- }
8
+ import SequenceSearchAdapterF from './SequenceSearchAdapter';
9
+ import ReferenceSequenceTrackF from './ReferenceSequenceTrack';
10
+ import LinearReferenceSequenceDisplayF from './LinearReferenceSequenceDisplay';
11
+ import createExtensionPoints from './createExtensionPoints';
30
12
  export default class SequencePlugin extends Plugin {
31
13
  constructor() {
32
14
  super(...arguments);
33
15
  this.name = 'SequencePlugin';
34
16
  }
35
17
  install(pluginManager) {
36
- pluginManager.addAdapterType(() => new AdapterType({
37
- name: 'TwoBitAdapter',
38
- configSchema: twoBitAdapterConfigSchema,
39
- adapterMetadata: {
40
- category: null,
41
- hiddenFromGUI: true,
42
- displayName: null,
43
- description: null,
44
- },
45
- getAdapterClass: () => import('./TwoBitAdapter/TwoBitAdapter').then(r => r.default),
46
- }));
47
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
48
- return (file, index, adapterHint) => {
49
- const regexGuess = /\.2bit$/i;
50
- const adapterName = 'TwoBitAdapter';
51
- const fileName = getFileName(file);
52
- const obj = {
53
- type: adapterName,
54
- twoBitLocation: file,
55
- };
56
- if (regexGuess.test(fileName) && !adapterHint) {
57
- return obj;
58
- }
59
- else if (adapterHint === adapterName) {
60
- return obj;
61
- }
62
- return adapterGuesser(file, index, adapterHint);
63
- };
64
- });
65
- pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
66
- return (adapterName) => {
67
- if (adapterName === 'TwoBitAdapter') {
68
- return 'ReferenceSequenceTrack';
69
- }
70
- return trackTypeGuesser(adapterName);
71
- };
72
- });
73
- pluginManager.addAdapterType(() => new AdapterType({
74
- name: 'ChromSizesAdapter',
75
- configSchema: chromSizesAdapterConfigSchema,
76
- adapterMetadata: {
77
- category: null,
78
- hiddenFromGUI: true,
79
- displayName: null,
80
- description: null,
81
- },
82
- getAdapterClass: () => import('./ChromSizesAdapter/ChromSizesAdapter').then(r => r.default),
83
- }));
84
- pluginManager.addAdapterType(() => new AdapterType({
85
- name: 'IndexedFastaAdapter',
86
- configSchema: indexedFastaAdapterConfigSchema,
87
- adapterMetadata: {
88
- category: null,
89
- hiddenFromGUI: true,
90
- displayName: null,
91
- description: null,
92
- },
93
- getAdapterClass: () => import('./IndexedFastaAdapter/IndexedFastaAdapter').then(r => r.default),
94
- }));
95
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
96
- return (file, index, adapterHint) => {
97
- const regexGuess = /\.(fa|fasta|fas|fna|mfa)$/i;
98
- const adapterName = 'IndexedFastaAdapter';
99
- const fileName = getFileName(file);
100
- const obj = {
101
- type: adapterName,
102
- fastaLocation: file,
103
- faiLocation: index || makeIndex(file, '.fai'),
104
- };
105
- if (regexGuess.test(fileName) && !adapterHint) {
106
- return obj;
107
- }
108
- else if (adapterHint === adapterName) {
109
- return obj;
110
- }
111
- return adapterGuesser(file, index, adapterHint);
112
- };
113
- });
114
- pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
115
- return (adapterName) => {
116
- if (adapterName === 'IndexedFastaAdapter') {
117
- return 'ReferenceSequenceTrack';
118
- }
119
- return trackTypeGuesser(adapterName);
120
- };
121
- });
122
- pluginManager.addAdapterType(() => new AdapterType({
123
- name: 'BgzipFastaAdapter',
124
- configSchema: bgzipFastaAdapterConfigSchema,
125
- adapterMetadata: {
126
- category: null,
127
- hiddenFromGUI: true,
128
- displayName: null,
129
- description: null,
130
- },
131
- getAdapterClass: () => import('./BgzipFastaAdapter/BgzipFastaAdapter').then(r => r.default),
132
- }));
133
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
134
- return (file, index, adapterHint) => {
135
- const regexGuess = /\.(fa|fasta|fas|fna|mfa)\.b?gz$/i;
136
- const adapterName = 'BgzipFastaAdapter';
137
- const fileName = getFileName(file);
138
- const obj = {
139
- type: adapterName,
140
- faiLocation: makeIndex(file, '.fai'),
141
- gziLocation: makeIndex(file, '.gzi'),
142
- };
143
- if (regexGuess.test(fileName) && !adapterHint) {
144
- return obj;
145
- }
146
- else if (adapterHint === adapterName) {
147
- return obj;
148
- }
149
- return adapterGuesser(file, index, adapterHint);
150
- };
151
- });
152
- pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
153
- return (adapterName) => {
154
- if (adapterName === 'BgzipFastaAdapter') {
155
- return 'ReferenceSequenceTrack';
156
- }
157
- return trackTypeGuesser(adapterName);
158
- };
159
- });
160
- pluginManager.addAdapterType(() => new AdapterType({
161
- name: 'GCContentAdapter',
162
- adapterMetadata: {
163
- category: null,
164
- hiddenFromGUI: true,
165
- displayName: null,
166
- description: null,
167
- },
168
- ...pluginManager.load(GCContentAdapterF),
169
- }));
170
- pluginManager.addTrackType(() => {
171
- const configSchema = createReferenceSeqTrackConfig(pluginManager);
172
- return new TrackType({
173
- name: 'ReferenceSequenceTrack',
174
- configSchema,
175
- stateModel: createBaseTrackModel(pluginManager, 'ReferenceSequenceTrack', configSchema),
176
- });
177
- });
178
- pluginManager.addDisplayType(() => {
179
- const stateModel = linearReferenceSequenceDisplayModelFactory(linearReferenceSequenceDisplayConfigSchema);
180
- return {
181
- name: 'LinearReferenceSequenceDisplay',
182
- configSchema: linearReferenceSequenceDisplayConfigSchema,
183
- stateModel,
184
- trackType: 'ReferenceSequenceTrack',
185
- viewType: 'LinearGenomeView',
186
- ReactComponent: BaseLinearDisplayComponent,
187
- };
188
- });
189
- pluginManager.addRendererType(() => new DivSequenceRenderer({
190
- name: 'DivSequenceRenderer',
191
- ReactComponent: DivSequenceRendererReactComponent,
192
- configSchema: divSequenceRendererConfigSchema,
193
- pluginManager,
194
- }));
18
+ DivSequenceRendererF(pluginManager);
19
+ TwoBitAdapterF(pluginManager);
20
+ BgzipFastaAdapterF(pluginManager);
21
+ ChromSizesAdapterF(pluginManager);
22
+ IndexedFastaAdapterF(pluginManager);
23
+ GCContentAdapterF(pluginManager);
24
+ SequenceSearchAdapterF(pluginManager);
25
+ ReferenceSequenceTrackF(pluginManager);
26
+ LinearReferenceSequenceDisplayF(pluginManager);
27
+ createExtensionPoints(pluginManager);
195
28
  }
196
29
  }
197
30
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAGzC,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,oBAAoB,MAAM,uBAAuB,CAAA;AACxD,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,oBAAoB,MAAM,uBAAuB,CAAA;AACxD,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,sBAAsB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,uBAAuB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,+BAA+B,MAAM,kCAAkC,CAAA;AAC9E,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAE3D,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,MAAM;IAAlD;;QACE,SAAI,GAAG,gBAAgB,CAAA;IAczB,CAAC;IAZC,OAAO,CAAC,aAA4B;QAClC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACnC,cAAc,CAAC,aAAa,CAAC,CAAA;QAC7B,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACjC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACjC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACnC,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAChC,sBAAsB,CAAC,aAAa,CAAC,CAAA;QACrC,uBAAuB,CAAC,aAAa,CAAC,CAAA;QACtC,+BAA+B,CAAC,aAAa,CAAC,CAAA;QAC9C,qBAAqB,CAAC,aAAa,CAAC,CAAA;IACtC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-sequence",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "description": "JBrowse 2 sequence adapters, tracks, etc.",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -37,7 +37,6 @@
37
37
  "clean": "rimraf dist esm *.tsbuildinfo"
38
38
  },
39
39
  "dependencies": {
40
- "@babel/runtime": "^7.17.9",
41
40
  "@gmod/indexedfasta": "^2.0.2",
42
41
  "@gmod/twobit": "^1.1.12",
43
42
  "abortable-promise-cache": "^1.5.0"
@@ -60,5 +59,5 @@
60
59
  "distModule": "esm/index.js",
61
60
  "srcModule": "src/index.ts",
62
61
  "module": "esm/index.js",
63
- "gitHead": "0db0462fa1f9f15ab4869da085bcab032b9483c3"
62
+ "gitHead": "ebd548ceb52adb36cf6ab437082b5b5feac1338e"
64
63
  }
@@ -1,37 +1,19 @@
1
1
  import { BgzipIndexedFasta } from '@gmod/indexedfasta'
2
2
  import { FileLocation } from '@jbrowse/core/util/types'
3
3
  import { openLocation } from '@jbrowse/core/util/io'
4
- import { readConfObject } from '@jbrowse/core/configuration'
5
- import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema'
6
4
  import IndexedFasta from '../IndexedFastaAdapter/IndexedFastaAdapter'
7
- import PluginManager from '@jbrowse/core/PluginManager'
8
- import { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache'
9
5
 
10
6
  export default class extends IndexedFasta {
11
- public constructor(
12
- config: AnyConfigurationModel,
13
- getSubAdapter?: getSubAdapterType,
14
- pluginManager?: PluginManager,
15
- ) {
16
- super(config, getSubAdapter, pluginManager)
17
- const fastaLocation = readConfObject(config, 'fastaLocation')
18
- const faiLocation = readConfObject(config, 'faiLocation')
19
- const gziLocation = readConfObject(config, 'gziLocation')
20
- if (!fastaLocation) {
21
- throw new Error('must provide fastaLocation')
22
- }
23
- if (!faiLocation) {
24
- throw new Error('must provide faiLocation')
25
- }
26
- if (!gziLocation) {
27
- throw new Error('must provide gziLocation')
28
- }
7
+ public async setupPre() {
8
+ const fastaLocation = this.getConf('fastaLocation')
9
+ const faiLocation = this.getConf('faiLocation')
10
+ const gziLocation = this.getConf('gziLocation')
29
11
  const fastaOpts = {
30
12
  fasta: openLocation(fastaLocation as FileLocation, this.pluginManager),
31
13
  fai: openLocation(faiLocation as FileLocation, this.pluginManager),
32
14
  gzi: openLocation(gziLocation as FileLocation, this.pluginManager),
33
15
  }
34
16
 
35
- this.fasta = new BgzipIndexedFasta(fastaOpts)
17
+ return { fasta: new BgzipIndexedFasta(fastaOpts) }
36
18
  }
37
19
  }
@@ -1 +1,22 @@
1
- export { default as configSchema } from './configSchema'
1
+ import PluginManager from '@jbrowse/core/PluginManager'
2
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType'
3
+
4
+ import configSchema from './configSchema'
5
+
6
+ export default (pluginManager: PluginManager) => {
7
+ pluginManager.addAdapterType(
8
+ () =>
9
+ new AdapterType({
10
+ name: 'BgzipFastaAdapter',
11
+ configSchema,
12
+ adapterMetadata: {
13
+ category: null,
14
+ hiddenFromGUI: true,
15
+ displayName: null,
16
+ description: null,
17
+ },
18
+ getAdapterClass: () =>
19
+ import('./BgzipFastaAdapter').then(r => r.default),
20
+ }),
21
+ )
22
+ }
@@ -1 +1,22 @@
1
- export { default as configSchema } from './configSchema'
1
+ import PluginManager from '@jbrowse/core/PluginManager'
2
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType'
3
+
4
+ import configSchema from './configSchema'
5
+
6
+ export default (pluginManager: PluginManager) => {
7
+ pluginManager.addAdapterType(
8
+ () =>
9
+ new AdapterType({
10
+ name: 'ChromSizesAdapter',
11
+ configSchema,
12
+ adapterMetadata: {
13
+ category: null,
14
+ hiddenFromGUI: true,
15
+ displayName: null,
16
+ description: null,
17
+ },
18
+ getAdapterClass: () =>
19
+ import('./ChromSizesAdapter').then(r => r.default),
20
+ }),
21
+ )
22
+ }
@@ -1,2 +1,31 @@
1
- export { default as ReactComponent } from './components/DivSequenceRendering'
2
- export { default as configSchema } from './configSchema'
1
+ import PluginManager from '@jbrowse/core/PluginManager'
2
+
3
+ import { Region } from '@jbrowse/core/util/types'
4
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'
5
+ import ReactComponent from './components/DivSequenceRendering'
6
+ import configSchema from './configSchema'
7
+
8
+ /* adjust in both directions */
9
+ class DivSequenceRenderer extends FeatureRendererType {
10
+ supportsSVG = true
11
+
12
+ getExpandedRegion(region: Region) {
13
+ return {
14
+ ...region,
15
+ start: Math.max(region.start - 3, 0),
16
+ end: region.end + 3,
17
+ }
18
+ }
19
+ }
20
+
21
+ export default (pluginManager: PluginManager) => {
22
+ pluginManager.addRendererType(
23
+ () =>
24
+ new DivSequenceRenderer({
25
+ name: 'DivSequenceRenderer',
26
+ ReactComponent,
27
+ configSchema,
28
+ pluginManager,
29
+ }),
30
+ )
31
+ }
@@ -2,10 +2,8 @@ import {
2
2
  BaseFeatureDataAdapter,
3
3
  BaseOptions,
4
4
  } from '@jbrowse/core/data_adapters/BaseAdapter'
5
- import { Region } from '@jbrowse/core/util/types'
6
5
  import { ObservableCreate } from '@jbrowse/core/util/rxjs'
7
- import SimpleFeature, { Feature } from '@jbrowse/core/util/simpleFeature'
8
- import { readConfObject } from '@jbrowse/core/configuration'
6
+ import { SimpleFeature, Feature, Region } from '@jbrowse/core/util'
9
7
  import { toArray } from 'rxjs/operators'
10
8
 
11
9
  export default class extends BaseFeatureDataAdapter {
@@ -18,30 +16,19 @@ export default class extends BaseFeatureDataAdapter {
18
16
  public static capabilities = ['hasLocalStats']
19
17
 
20
18
  public async configure() {
21
- // instantiate the sequence adapter
22
- const sequenceAdapter = readConfObject(this.config, 'sequenceAdapter')
23
-
24
- const dataAdapter = await this.getSubAdapter?.(sequenceAdapter)
25
- if (!dataAdapter) {
19
+ const adapter = await this.getSubAdapter?.(this.getConf('sequenceAdapter'))
20
+ if (!adapter) {
26
21
  throw new Error('Error getting subadapter')
27
22
  }
28
- return dataAdapter.dataAdapter as BaseFeatureDataAdapter
23
+ return adapter.dataAdapter as BaseFeatureDataAdapter
29
24
  }
30
25
 
31
26
  public async getRefNames() {
32
- const sequenceAdapter = await this.configure()
33
- return sequenceAdapter.getRefNames()
27
+ const adapter = await this.configure()
28
+ return adapter.getRefNames()
34
29
  }
35
30
 
36
- /**
37
- * Fetch features for a certain region
38
- * @param param -
39
- * @returns Observable of Feature objects in the region
40
- */
41
31
  public getFeatures(query: Region, opts: BaseOptions) {
42
- this.windowSize = 1000
43
- this.windowDelta = 1000
44
- this.gcMode = 'content'
45
32
  return ObservableCreate<Feature>(async observer => {
46
33
  const sequenceAdapter = await this.configure()
47
34
  const hw = this.windowSize === 1 ? 1 : this.windowSize / 2 // Half the window size
@@ -56,11 +43,14 @@ export default class extends BaseFeatureDataAdapter {
56
43
  return
57
44
  }
58
45
 
59
- const ret = sequenceAdapter.getFeatures({
60
- ...query,
61
- start: queryStart,
62
- end: queryEnd,
63
- })
46
+ const ret = sequenceAdapter.getFeatures(
47
+ {
48
+ ...query,
49
+ start: queryStart,
50
+ end: queryEnd,
51
+ },
52
+ opts,
53
+ )
64
54
  const feats = await ret.pipe(toArray()).toPromise()
65
55
  const residues = feats[0]?.get('seq') || ''
66
56
 
@@ -105,5 +95,5 @@ export default class extends BaseFeatureDataAdapter {
105
95
  * will not be needed for the forseeable future and can be purged
106
96
  * from caches, etc
107
97
  */
108
- public freeResources(/* { region } */): void {}
98
+ public freeResources(/* { region } */) {}
109
99
  }
@@ -1,9 +1,22 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager'
2
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType'
3
+
2
4
  import configSchemaF from './configSchema'
3
5
 
4
6
  export default (pluginManager: PluginManager) => {
5
- return {
6
- configSchema: pluginManager.load(configSchemaF),
7
- getAdapterClass: () => import('./GCContentAdapter').then(r => r.default),
8
- }
7
+ pluginManager.addAdapterType(
8
+ () =>
9
+ new AdapterType({
10
+ name: 'GCContentAdapter',
11
+ adapterMetadata: {
12
+ category: null,
13
+ hiddenFromGUI: true,
14
+ displayName: null,
15
+ description: null,
16
+ },
17
+ configSchema: configSchemaF(pluginManager),
18
+ getAdapterClass: () =>
19
+ import('./GCContentAdapter').then(r => r.default),
20
+ }),
21
+ )
9
22
  }