@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
@@ -1,6 +1,5 @@
1
1
  import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
2
- import { Region } from '@jbrowse/core/util/types';
3
- import { Feature } from '@jbrowse/core/util/simpleFeature';
2
+ import { Feature, Region } from '@jbrowse/core/util';
4
3
  export default class extends BaseFeatureDataAdapter {
5
4
  private windowSize;
6
5
  private windowDelta;
@@ -8,11 +7,6 @@ export default class extends BaseFeatureDataAdapter {
8
7
  static capabilities: string[];
9
8
  configure(): Promise<BaseFeatureDataAdapter>;
10
9
  getRefNames(): Promise<string[]>;
11
- /**
12
- * Fetch features for a certain region
13
- * @param param -
14
- * @returns Observable of Feature objects in the region
15
- */
16
10
  getFeatures(query: Region, opts: BaseOptions): import("rxjs").Observable<Feature>;
17
11
  /**
18
12
  * called to provide a hint that data tied to a certain region
@@ -1,7 +1,6 @@
1
1
  import { BaseFeatureDataAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
2
2
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
3
- import SimpleFeature from '@jbrowse/core/util/simpleFeature';
4
- import { readConfObject } from '@jbrowse/core/configuration';
3
+ import { SimpleFeature } from '@jbrowse/core/util';
5
4
  import { toArray } from 'rxjs/operators';
6
5
  export default class default_1 extends BaseFeatureDataAdapter {
7
6
  constructor() {
@@ -12,27 +11,17 @@ export default class default_1 extends BaseFeatureDataAdapter {
12
11
  }
13
12
  async configure() {
14
13
  var _a;
15
- // instantiate the sequence adapter
16
- const sequenceAdapter = readConfObject(this.config, 'sequenceAdapter');
17
- const dataAdapter = await ((_a = this.getSubAdapter) === null || _a === void 0 ? void 0 : _a.call(this, sequenceAdapter));
18
- if (!dataAdapter) {
14
+ const adapter = await ((_a = this.getSubAdapter) === null || _a === void 0 ? void 0 : _a.call(this, this.getConf('sequenceAdapter')));
15
+ if (!adapter) {
19
16
  throw new Error('Error getting subadapter');
20
17
  }
21
- return dataAdapter.dataAdapter;
18
+ return adapter.dataAdapter;
22
19
  }
23
20
  async getRefNames() {
24
- const sequenceAdapter = await this.configure();
25
- return sequenceAdapter.getRefNames();
21
+ const adapter = await this.configure();
22
+ return adapter.getRefNames();
26
23
  }
27
- /**
28
- * Fetch features for a certain region
29
- * @param param -
30
- * @returns Observable of Feature objects in the region
31
- */
32
24
  getFeatures(query, opts) {
33
- this.windowSize = 1000;
34
- this.windowDelta = 1000;
35
- this.gcMode = 'content';
36
25
  return ObservableCreate(async (observer) => {
37
26
  var _a;
38
27
  const sequenceAdapter = await this.configure();
@@ -49,7 +38,7 @@ export default class default_1 extends BaseFeatureDataAdapter {
49
38
  ...query,
50
39
  start: queryStart,
51
40
  end: queryEnd,
52
- });
41
+ }, opts);
53
42
  const feats = await ret.pipe(toArray()).toPromise();
54
43
  const residues = ((_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq')) || '';
55
44
  for (let i = hw; i < residues.length - hw; i += this.windowDelta) {
@@ -1 +1 @@
1
- {"version":3,"file":"GCContentAdapter.js","sourceRoot":"","sources":["../../src/GCContentAdapter/GCContentAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GCContentAdapter.js","sourceRoot":"","sources":["../../src/GCContentAdapter/GCContentAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
- declare const _default: (pluginManager: PluginManager) => {
3
- configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
4
- getAdapterClass: () => Promise<typeof import("./GCContentAdapter").default>;
5
- };
2
+ declare const _default: (pluginManager: PluginManager) => void;
6
3
  export default _default;
@@ -1,8 +1,16 @@
1
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
1
2
  import configSchemaF from './configSchema';
2
3
  export default (pluginManager) => {
3
- return {
4
- configSchema: pluginManager.load(configSchemaF),
4
+ pluginManager.addAdapterType(() => new AdapterType({
5
+ name: 'GCContentAdapter',
6
+ adapterMetadata: {
7
+ category: null,
8
+ hiddenFromGUI: true,
9
+ displayName: null,
10
+ description: null,
11
+ },
12
+ configSchema: configSchemaF(pluginManager),
5
13
  getAdapterClass: () => import('./GCContentAdapter').then(r => r.default),
6
- };
14
+ }));
7
15
  };
8
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GCContentAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,OAAO;QACL,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/C,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACzE,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GCContentAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,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,kBAAkB;QACxB,eAAe,EAAE;YACf,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB;QACD,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC;QAC1C,eAAe,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACpD,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -6,8 +6,9 @@ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
6
6
  import PluginManager from '@jbrowse/core/PluginManager';
7
7
  import { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache';
8
8
  export default class extends BaseSequenceAdapter {
9
- protected fasta: IndexedFasta;
10
- protected header?: Promise<string>;
9
+ protected setupP?: Promise<{
10
+ fasta: IndexedFasta;
11
+ }>;
11
12
  private seqCache;
12
13
  constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
13
14
  getRefNames(opts?: BaseOptions): Promise<string[]>;
@@ -16,7 +17,13 @@ export default class extends BaseSequenceAdapter {
16
17
  start: number;
17
18
  end: number;
18
19
  }[]>;
20
+ setupPre(): Promise<{
21
+ fasta: IndexedFasta;
22
+ }>;
19
23
  getHeader(): Promise<string | null>;
24
+ setup(): Promise<{
25
+ fasta: IndexedFasta;
26
+ }>;
20
27
  getFeatures(region: NoAssemblyRegion, opts?: BaseOptions): import("rxjs").Observable<Feature>;
21
28
  /**
22
29
  * called to provide a hint that data tied to a certain region
@@ -4,56 +4,61 @@ import { openLocation } from '@jbrowse/core/util/io';
4
4
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
5
5
  import { SimpleFeature } from '@jbrowse/core/util';
6
6
  import AbortablePromiseCache from 'abortable-promise-cache';
7
- import LRU from '@jbrowse/core/util/QuickLRU';
7
+ import QuickLRU from '@jbrowse/core/util/QuickLRU';
8
8
  export default class extends BaseSequenceAdapter {
9
9
  constructor(config, getSubAdapter, pluginManager) {
10
10
  super(config, getSubAdapter, pluginManager);
11
11
  this.seqCache = new AbortablePromiseCache({
12
- cache: new LRU({ maxSize: 200 }),
12
+ cache: new QuickLRU({ maxSize: 200 }),
13
13
  fill: async (args, signal) => {
14
- const { refName, start, end } = args;
15
- return this.fasta.getSequence(refName, start, end, { ...args, signal });
14
+ const { refName, start, end, fasta } = args;
15
+ return fasta.getSequence(refName, start, end, { ...args, signal });
16
16
  },
17
17
  });
18
- const fastaLocation = this.getConf('fastaLocation');
19
- const faiLocation = this.getConf('faiLocation');
20
- const fastaOpts = {
21
- fasta: openLocation(fastaLocation, this.pluginManager),
22
- fai: openLocation(faiLocation, this.pluginManager),
23
- };
24
- this.fasta = new IndexedFasta(fastaOpts);
25
18
  }
26
- getRefNames(opts) {
27
- return this.fasta.getSequenceNames(opts);
19
+ async getRefNames(opts) {
20
+ const { fasta } = await this.setup();
21
+ return fasta.getSequenceNames(opts);
28
22
  }
29
23
  async getRegions(opts) {
30
- const seqSizes = await this.fasta.getSequenceSizes(opts);
24
+ const { fasta } = await this.setup();
25
+ const seqSizes = await fasta.getSequenceSizes(opts);
31
26
  return Object.keys(seqSizes).map(refName => ({
32
27
  refName,
33
28
  start: 0,
34
29
  end: seqSizes[refName],
35
30
  }));
36
31
  }
32
+ async setupPre() {
33
+ const fastaLocation = this.getConf('fastaLocation');
34
+ const faiLocation = this.getConf('faiLocation');
35
+ return {
36
+ fasta: new IndexedFasta({
37
+ fasta: openLocation(fastaLocation, this.pluginManager),
38
+ fai: openLocation(faiLocation, this.pluginManager),
39
+ }),
40
+ };
41
+ }
37
42
  async getHeader() {
38
- if (this.header) {
39
- return this.header;
40
- }
41
43
  const loc = this.getConf('metadataLocation');
42
- if (loc.uri === '' || loc.uri === '/path/to/fa.metadata.yaml') {
43
- return null;
44
+ return loc.uri === '' || loc.uri === '/path/to/fa.metadata.yaml'
45
+ ? null
46
+ : openLocation(loc).readFile('utf8');
47
+ }
48
+ async setup() {
49
+ if (!this.setupP) {
50
+ this.setupP = this.setupPre().catch(e => {
51
+ this.setupP = undefined;
52
+ throw e;
53
+ });
44
54
  }
45
- this.header = openLocation(loc)
46
- .readFile('utf8')
47
- .catch(e => {
48
- this.header = undefined;
49
- throw e;
50
- });
51
- return this.header;
55
+ return this.setupP;
52
56
  }
53
57
  getFeatures(region, opts) {
54
58
  const { refName, start, end } = region;
55
59
  return ObservableCreate(async (observer) => {
56
- const size = await this.fasta.getSequenceSize(refName, opts);
60
+ const { fasta } = await this.setup();
61
+ const size = await fasta.getSequenceSize(refName, opts);
57
62
  const regionEnd = size !== undefined ? Math.min(size, end) : end;
58
63
  const chunks = [];
59
64
  const chunkSize = 128000;
@@ -65,7 +70,7 @@ export default class extends BaseSequenceAdapter {
65
70
  start: chunkStart,
66
71
  end: chunkStart + chunkSize,
67
72
  };
68
- chunks.push(this.seqCache.get(JSON.stringify(r), r, opts === null || opts === void 0 ? void 0 : opts.signal));
73
+ chunks.push(this.seqCache.get(JSON.stringify(r), { ...r, fasta }, opts === null || opts === void 0 ? void 0 : opts.signal));
69
74
  }
70
75
  const seq = (await Promise.all(chunks))
71
76
  .join('')
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedFastaAdapter.js","sourceRoot":"","sources":["../../src/IndexedFastaAdapter/IndexedFastaAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexedFastaAdapter.js","sourceRoot":"","sources":["../../src/IndexedFastaAdapter/IndexedFastaAdapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1,3 @@
1
- export { default as configSchema } from './configSchema';
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -1,2 +1,16 @@
1
- export { default as configSchema } from './configSchema';
1
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
+ import configSchema from './configSchema';
3
+ export default (pluginManager) => {
4
+ pluginManager.addAdapterType(() => new AdapterType({
5
+ name: 'IndexedFastaAdapter',
6
+ configSchema,
7
+ adapterMetadata: {
8
+ category: null,
9
+ hiddenFromGUI: true,
10
+ displayName: null,
11
+ description: null,
12
+ },
13
+ getAdapterClass: () => import('./IndexedFastaAdapter').then(r => r.default),
14
+ }));
15
+ };
2
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/IndexedFastaAdapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/IndexedFastaAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,qBAAqB;QAC3B,YAAY;QACZ,eAAe,EAAE;YACf,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB;QACD,eAAe,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACvD,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import { configSchema as divSequenceRendererConfigSchema } from '../DivSequenceRenderer';
2
+ import { default as divSequenceRendererConfigSchema } from '../DivSequenceRenderer/configSchema';
3
3
  export const configSchema = ConfigurationSchema('LinearReferenceSequenceDisplay', { renderer: divSequenceRendererConfigSchema }, { explicitIdentifier: 'displayId', explicitlyTyped: true });
4
4
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/LinearReferenceSequenceDisplay/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,YAAY,IAAI,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AAExF,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAC7C,gCAAgC,EAChC,EAAE,QAAQ,EAAE,+BAA+B,EAAE,EAC7C,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAC3D,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/LinearReferenceSequenceDisplay/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,qCAAqC,CAAA;AAEhG,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAC7C,gCAAgC,EAChC,EAAE,QAAQ,EAAE,+BAA+B,EAAE,EAC7C,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAC3D,CAAA"}
@@ -1,2 +1,3 @@
1
- export { configSchema } from './configSchema';
2
- export { modelFactory } from './model';
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -1,3 +1,17 @@
1
- export { configSchema } from './configSchema';
2
- export { modelFactory } from './model';
1
+ import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
2
+ import { configSchema } from './configSchema';
3
+ import { modelFactory } from './model';
4
+ export default (pluginManager) => {
5
+ pluginManager.addDisplayType(() => {
6
+ const stateModel = modelFactory(configSchema);
7
+ return {
8
+ name: 'LinearReferenceSequenceDisplay',
9
+ configSchema,
10
+ stateModel,
11
+ trackType: 'ReferenceSequenceTrack',
12
+ viewType: 'LinearGenomeView',
13
+ ReactComponent: BaseLinearDisplayComponent,
14
+ };
15
+ });
16
+ };
3
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearReferenceSequenceDisplay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearReferenceSequenceDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;QAC7C,OAAO;YACL,IAAI,EAAE,gCAAgC;YACtC,YAAY;YACZ,UAAU;YACV,SAAS,EAAE,wBAAwB;YACnC,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,0BAA0B;SAC3C,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -182,7 +182,7 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
182
182
  }[];
183
183
  renderProps(): any;
184
184
  } & {
185
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").ExportSvgOptions & {
185
+ renderSvg(opts: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").ExportSvgOptions & {
186
186
  overrideHeight: number;
187
187
  }): Promise<JSX.Element>;
188
188
  } & {
@@ -60,4 +60,4 @@ export function createReferenceSeqTrackConfig(pluginManager) {
60
60
  }),
61
61
  });
62
62
  }
63
- //# sourceMappingURL=referenceSeqTrackConfig.js.map
63
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/ReferenceSequenceTrack/configSchema.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGjE;;;;EAIE;AACF,MAAM,UAAU,6BAA6B,CAAC,aAA4B;IACxE,OAAO,mBAAmB,CACxB,wBAAwB,EACxB;QACE,OAAO,EAAE,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;QAC3D,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qBAAqB;YAClC,YAAY,EAAE,EAAE;SACjB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;YAC/C,YAAY,EAAE,EAAE;SACjB;KACF,EACD;QACE,kBAAkB,EAAE,CAAC,CAAC,EAAE;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;YAC9B,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;YAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE;gBACpC,oEAAoE;gBACpE,oEAAoE;gBACpE,WAAW;gBACX,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC3D,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACvD,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;oBAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;wBACvC,QAAQ,CAAC,IAAI,CAAC;4BACZ,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE;4BAChD,IAAI,EAAE,WAAW,CAAC,IAAI;yBACvB,CAAC,CAAA;qBACH;gBACH,CAAC,CAAC,CAAA;aACH;YACD,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAA;QAC9B,CAAC;QACD,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YACvB,cAAc,CAAC,WAAgD;gBAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAA;gBAC5B,IAAI,CAAC,IAAI,EAAE;oBACT,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;iBAChD;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,CACvD,CAAA;gBACD,IAAI,OAAO,EAAE;oBACX,OAAO,OAAO,CAAA;iBACf;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAClC,CAAC;SACF,CAAC;KACH,CACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType';
2
+ import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
3
+ import { createReferenceSeqTrackConfig } from './configSchema';
4
+ export default (pluginManager) => {
5
+ pluginManager.addTrackType(() => {
6
+ const configSchema = createReferenceSeqTrackConfig(pluginManager);
7
+ return new TrackType({
8
+ name: 'ReferenceSequenceTrack',
9
+ configSchema,
10
+ stateModel: createBaseTrackModel(pluginManager, 'ReferenceSequenceTrack', configSchema),
11
+ });
12
+ });
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ReferenceSequenceTrack/index.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,+CAA+C,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AAE9D,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE;QAC9B,MAAM,YAAY,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAA;QAEjE,OAAO,IAAI,SAAS,CAAC;YACnB,IAAI,EAAE,wBAAwB;YAC9B,YAAY;YACZ,UAAU,EAAE,oBAAoB,CAC9B,aAAa,EACb,wBAAwB,EACxB,YAAY,CACb;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { Feature, Region } from '@jbrowse/core/util';
3
+ export default class extends BaseFeatureDataAdapter {
4
+ configure(): Promise<BaseFeatureDataAdapter>;
5
+ getRefNames(): Promise<string[]>;
6
+ getFeatures(query: Region, opts: BaseOptions): import("rxjs").Observable<Feature>;
7
+ freeResources(): void;
8
+ }
@@ -0,0 +1,81 @@
1
+ import { BaseFeatureDataAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { ObservableCreate } from '@jbrowse/core/util/rxjs';
3
+ import { SimpleFeature, revcom, doesIntersect2, } from '@jbrowse/core/util';
4
+ import { toArray } from 'rxjs/operators';
5
+ export default class extends BaseFeatureDataAdapter {
6
+ async configure() {
7
+ var _a;
8
+ const adapter = await ((_a = this.getSubAdapter) === null || _a === void 0 ? void 0 : _a.call(this, this.getConf('sequenceAdapter')));
9
+ if (!adapter) {
10
+ throw new Error('Error getting subadapter');
11
+ }
12
+ return adapter.dataAdapter;
13
+ }
14
+ async getRefNames() {
15
+ const adapter = await this.configure();
16
+ return adapter.getRefNames();
17
+ }
18
+ getFeatures(query, opts) {
19
+ return ObservableCreate(async (observer) => {
20
+ var _a;
21
+ const sequenceAdapter = await this.configure();
22
+ const hw = 1000;
23
+ let { start: queryStart, end: queryEnd } = query;
24
+ queryStart = Math.max(0, queryStart - hw);
25
+ queryEnd += hw;
26
+ if (queryEnd < 0 || queryStart > queryEnd) {
27
+ observer.complete();
28
+ return;
29
+ }
30
+ const ret = sequenceAdapter.getFeatures({
31
+ ...query,
32
+ start: queryStart,
33
+ end: queryEnd,
34
+ }, opts);
35
+ const feats = await ret.pipe(toArray()).toPromise();
36
+ const residues = ((_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq')) || '';
37
+ const search = this.getConf('search');
38
+ const searchFoward = this.getConf('searchForward');
39
+ const searchReverse = this.getConf('searchReverse');
40
+ const caseInsensitive = this.getConf('caseInsensitive');
41
+ const re = new RegExp(search, 'g' + (caseInsensitive ? 'i' : ''));
42
+ if (search) {
43
+ if (searchFoward) {
44
+ const matches = residues.matchAll(re);
45
+ for (const match of matches) {
46
+ const s = queryStart + (match.index || 0);
47
+ if (doesIntersect2(s, s + search.length, query.start, query.end)) {
48
+ observer.next(new SimpleFeature({
49
+ uniqueId: `${this.id}-match-${s}-p`,
50
+ refName: query.refName,
51
+ start: s,
52
+ end: s + match[0].length,
53
+ name: match[0],
54
+ strand: 1,
55
+ }));
56
+ }
57
+ }
58
+ }
59
+ if (searchReverse) {
60
+ const matches = revcom(residues).matchAll(re);
61
+ for (const match of matches) {
62
+ const s = queryEnd - (match.index || 0);
63
+ if (doesIntersect2(s, s + search.length, query.start, query.end)) {
64
+ observer.next(new SimpleFeature({
65
+ uniqueId: `${this.id}-match-${s}-n`,
66
+ refName: query.refName,
67
+ start: s - match[0].length,
68
+ name: match[0],
69
+ end: s,
70
+ strand: -1,
71
+ }));
72
+ }
73
+ }
74
+ }
75
+ }
76
+ observer.complete();
77
+ });
78
+ }
79
+ freeResources() { }
80
+ }
81
+ //# sourceMappingURL=SequenceSearchAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequenceSearchAdapter.js","sourceRoot":"","sources":["../../src/SequenceSearchAdapter/SequenceSearchAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
+ export default configSchema;
@@ -0,0 +1,26 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
+ const configSchema = ConfigurationSchema('SequenceSearchAdapter', {
3
+ search: {
4
+ type: 'string',
5
+ defaultValue: '',
6
+ description: 'Search string or regex to search for',
7
+ },
8
+ sequenceAdapter: {
9
+ type: 'frozen',
10
+ defaultValue: null,
11
+ },
12
+ searchForward: {
13
+ type: 'boolean',
14
+ defaultValue: true,
15
+ },
16
+ searchReverse: {
17
+ type: 'boolean',
18
+ defaultValue: true,
19
+ },
20
+ caseInsensitive: {
21
+ type: 'boolean',
22
+ defaultValue: true,
23
+ },
24
+ }, { explicitlyTyped: true });
25
+ export default configSchema;
26
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/SequenceSearchAdapter/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,MAAM,YAAY,GAAG,mBAAmB,CACtC,uBAAuB,EACvB;IACE,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,sCAAsC;KACpD;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,IAAI;KACnB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,IAAI;KACnB;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
+ import configSchema from './configSchema';
3
+ export default (pluginManager) => {
4
+ pluginManager.addAdapterType(() => new AdapterType({
5
+ name: 'SequenceSearchAdapter',
6
+ adapterMetadata: {
7
+ category: null,
8
+ hiddenFromGUI: true,
9
+ displayName: null,
10
+ description: null,
11
+ },
12
+ configSchema,
13
+ getAdapterClass: () => import('./SequenceSearchAdapter').then(r => r.default),
14
+ }));
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SequenceSearchAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,uBAAuB;QAC7B,eAAe,EAAE;YACf,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB;QACD,YAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACzD,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1,3 @@
1
- export { default as configSchema } from './configSchema';
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -1,2 +1,16 @@
1
- export { default as configSchema } from './configSchema';
1
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
+ import configSchema from './configSchema';
3
+ export default (pluginManager) => {
4
+ pluginManager.addAdapterType(() => new AdapterType({
5
+ name: 'TwoBitAdapter',
6
+ configSchema,
7
+ adapterMetadata: {
8
+ category: null,
9
+ hiddenFromGUI: true,
10
+ displayName: null,
11
+ description: null,
12
+ },
13
+ getAdapterClass: () => import('./TwoBitAdapter').then(r => r.default),
14
+ }));
15
+ };
2
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TwoBitAdapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TwoBitAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAEzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,eAAe;QACrB,YAAY;QACZ,eAAe,EAAE;YACf,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB;QACD,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACtE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;